将pypy实现转换为c文件并在现代笔记本上构建pypy-c需要几个小时,具有2G内存和Intel Core2 2GHz CPU.
我知道这是一项cpu密集型任务,但是它必须这么慢吗?有没有机会或空间来减少计算,重新安排计算顺序并将时间缩短到几十分钟?
小智 12
免责声明:我不是PyPy的专家 - 特别是,我不了解RPython翻译的细节,我只是引用了文档以及在邮件列表和博客中偷听的内容.
"CPU密集型任务"?被提名为本月的轻描淡写.我自己并不太了解翻译过程的细节,但即使我可以告诉你,它的几个分析和优化过程中的每一个都会对很多代码进行大量非常复杂的工作.
gcc -O2或类似编译的,当然这些代码需要进行大量的解析和检查,并且本身会有许多分析和优化过程.所以,是的,这是一个非常令人毛骨悚然的巨大任务.难怪你失去了微不足道的CPU.作为参考,PyPy家伙在2010年11月对翻译流程进行基准测试时使用了英特尔至强W3580(3.33 GHz).它仍然需要大约76分钟,即使它们还有12 GB的RAM - 这导致了下一个问题:在这个过程中需要大量的RAM(当时64位Ubuntu上的2.3 GB,不知道如何数字转换为您的情况).我很确定你最终会超过你的物理内存 - 进入过多的交换和相关的性能腹股沟.
结合你可能有其他几个程序运行窃取CPU时间和内存的事实,我认为你的经验非常好.翻译PyPy是为更强大的计算机保留的.如果有一些东西可以从根本上改善这些时间,像我们这样的局外人不太可能找到它.我会把这些烦恼留给开发者.
| 归档时间: |
|
| 查看次数: |
1104 次 |
| 最近记录: |