2010-07-02 9 views
10

Gần đây tôi đã cố gắng nâng cấp một vài mô-đun Perl trên điện thoại di động của mình (nokia n900) và cài đặt bản sao mới nhất của Module::Build trong một giờ.Thủ thuật của bạn để tăng tốc CPAN trên các thiết bị tài nguyên hạn chế là gì?

Phần lớn thời gian (70%) dường như đã được phân tích và lập chỉ mục thông tin kho lưu trữ.

Dường như có một vài tùy chọn, chẳng hạn như không xây dựng lại bộ nhớ cache chỉ mục mỗi lần hoặc sử dụng CPAN :: SQLite.

Tôi muốn tiếp tục sử dụng CPAN trên thiết bị, thay vì cài đặt các mô-đun theo cách thủ công. Vì vậy, tôi tự hỏi những gì kỹ thuật mọi người đã có thành công với trên các thiết bị tài nguyên hạn chế tương tự (cpu chậm, ram giới hạn, đĩa chậm (flash))?

Trả lời

6

Tôi tin rằng đây là một trong những lý do chính tại sao Miyagawa tạo cpanminus.

Từ POD:

Một trình cài đặt CPAN khác?

OK, động cơ đầu tiên là: vỏ CPAN hết bộ nhớ (hoặc hoán đổi và thực sự chậm) trên kế hoạch giá cả phải chăng nhất của Slicehost/linode chỉ với RAM 256MB. Tôi có nên trả thêm tiền để cài đặt các mô-đun perl từ CPAN? Tôi không nghĩ vậy.

Tôi đã không sử dụng cpanm trên thiết bị/máy tài nguyên hạn chế nhưng tôi đã sử dụng nó độc quyền trên nhà phát triển Perl 5.12 của tôi và đó là một giấc mơ!

/I3az/

1

Nếu mô-đun là Perl thuần túy thư mục trên thiết bị của bạn.

Nếu không (nếu biên dịch là cần thiết), kỹ thuật tương tự có thể được sử dụng để chỉ xây dựng mô-đun một lần, miễn là bạn cài đặt nó trên một thiết bị có cùng kiến ​​trúc; sau đó, bạn có thể chia sẻ thư viện giữa nhiều thiết bị. ví dụ. một khi bạn xây dựng các gói này, bạn có thể đặt chúng lên trang web của bạn để được chia sẻ giữa những người dùng Nokia n900 khác và có được nhiều bạn bè. :)

1

Nếu bạn đang hoạt động trong một môi trường RAM hạn chế, giống như một router không dây hoặc một cái gì đó, thêm swap có thể giúp đỡ. Tôi không nghĩ rằng đây là những gì bạn đang tìm kiếm, nhưng nếu CPAN của bạn được xây dựng là hết bộ nhớ hoặc bị giết, điều này sẽ giúp đỡ.

Trong một vỏ:

# dd if=/dev/zero of=/path/to/swapfile.swp bs=1M count=512 
# mkswap /path/to/swapfile.swp 
# swapon /path/to/swapfile.swp 

này sẽ cung cấp cho bạn một tập tin hoán đổi 500MiB. Trên router 128MB của tôi, nó hoạt động tốt; Tôi đặt tập tin vào ổ USB.