我最近試圖升級手機上的幾個Perl模塊(nokia n900),並在一小時內安裝Module::Build
的最新副本。在有限的資源設備上加速CPAN有什麼竅門?
大部分時間(70%)似乎都花費在解析和索引存儲庫信息上。
似乎有幾個選項,例如每次不重建索引緩存或使用CPAN :: SQLite。
我想繼續在設備上使用CPAN,而不是手動安裝模塊。所以我想知道人們在類似的有限資源設備(緩慢的CPU,有限的內存,慢速磁盤(閃存))上取得了哪些成功?
我最近試圖升級手機上的幾個Perl模塊(nokia n900),並在一小時內安裝Module::Build
的最新副本。在有限的資源設備上加速CPAN有什麼竅門?
大部分時間(70%)似乎都花費在解析和索引存儲庫信息上。
似乎有幾個選項,例如每次不重建索引緩存或使用CPAN :: SQLite。
我想繼續在設備上使用CPAN,而不是手動安裝模塊。所以我想知道人們在類似的有限資源設備(緩慢的CPU,有限的內存,慢速磁盤(閃存))上取得了哪些成功?
如果該模塊是純Perl(即沒有XS組件,並且不需要編譯任何庫),則可以將該軟件包安裝在另一個操作系統的另一臺機器上的local::lib目錄中,然後簡單地複製目錄轉移到您的設備上。否則(如果需要編譯),只要將其安裝在相同體系結構的設備上,就可以使用相同的技術來構建模塊一次;之後,您可以在多個設備之間共享該庫。例如一旦你建立這些軟件包,你可以把它們放在你的網頁上,與其他諾基亞N900用戶共享,並獲得許多朋友。 :)
如果你在一個有限的RAM環境中操作,就像一個無線路由器或東西,添加交換可以提供幫助。我不認爲這就是你想要的,但如果你的CPAN構建內存不足或者死亡,這將會有所幫助。
在shell:
# dd if=/dev/zero of=/path/to/swapfile.swp bs=1M count=512
# mkswap /path/to/swapfile.swp
# swapon /path/to/swapfile.swp
這會給你一個500MiB交換文件。在我的128MB路由器上,這工作正常;我把文件放在一個連接的USB拇指驅動器上。