2010-07-02 21 views
10

我最近試圖升級手機上的幾個Perl模塊(nokia n900),並在一小時內安裝Module::Build的最新副本。在有限的資源設備上加速CPAN有什麼竅門?

大部分時間(70%)似乎都花費在解析和索引存儲庫信息上。

似乎有幾個選項,例如每次不重建索引緩存或使用CPAN :: SQLite。

我想繼續在設備上使用CPAN,而不是手動安裝模塊。所以我想知道人們在類似的有限資源設備(緩慢的CPU,有限的內存,慢速磁盤(閃存))上取得了哪些成功?

回答

6

我相信這是Miyagawa創建cpanminus的主要原因之一。

從POD:

另一個CPAN安裝?

OK,第一個動機是這樣的:CPAN外殼內存用完(或交換量很大,並變得非常慢)在Slicehost /的Linode的,只有256MB RAM最經濟實惠的方案。我應該花更多錢從CPAN安裝perl模塊嗎?我不這麼認爲。

我還沒有在有限的資源設備/機器上使用cpanm,但我一直只在我的Perl 5.12開發中使用它,它一直是一個夢!

/I3az/

1

如果該模塊是純Perl(即沒有XS組件,並且不需要編譯任何庫),則可以將該軟件包安裝在另一個操作系統的另一臺機器上的local::lib目錄中,然後簡單地複製目錄轉移到您的設備上。否則(如果需要編譯),只要將其安裝在相同體系結構的設備上,就可以使用相同的技術來構建模塊一次;之後,您可以在多個設備之間共享該庫。例如一旦你建立這些軟件包,你可以把它們放在你的網頁上,與其他諾基亞N900用戶共享,並獲得許多朋友。 :)

1

如果你在一個有限的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拇指驅動器上。

相關問題