在有限的资源设备上加速CPAN有什么窍门?

在有限的资源设备上加速CPAN有什么窍门?

问题描述:

我最近试图升级手机上的几个Perl模块(nokia n900),并在一小时内安装Module::Build的最新副本。在有限的资源设备上加速CPAN有什么窍门?

大部分时间(70%)似乎都花费在解析和索引存储库信息上。

似乎有几个选项,例如每次不重建索引缓存或使用CPAN :: SQLite。

我想继续在设备上使用CPAN,而不是手动安装模块。所以我想知道人们在类似的有限资源设备(缓慢的CPU,有限的内存,慢速磁盘(闪存))上取得了哪些成功?

我相信这是Miyagawa创建cpanminus的主要原因之一。

从POD:

另一个CPAN安装?

OK,第一个动机是这样的:CPAN外壳内存用完(或交换量很大,并变得非常慢)在Slicehost /的Linode的,只有256MB RAM最经济实惠的方案。我应该花更多钱从CPAN安装perl模块吗?我不这么认为。

我还没有在有限的资源设备/机器上使用cpanm,但我一直只在我的Perl 5.12开发中使用它,它一直是一个梦!

/I3az/

如果该模块是纯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拇指驱动器上。