sot*_*ozo 9 python memory embedded performance garbage-collection
我的团队正在将Python 2.4.4运行时合并到我们的项目中,以便利用一些外部开发的功能.
我们的平台具有450Mhz SH4应用程序核心和有限的内存,供Python运行时和应用程序使用.
我们移植了Python,但初步测试突出了以下障碍:
a)Python运行时的启动时间可能低至25秒(导入相关库时,依次导入其依赖项)
b)Python似乎永远不会在垃圾收集期间向操作系统释放内存 - 唯一的办法是关闭运行时并重新启动(导致上面提到的启动延迟,这通常是不切实际的)
如果我们可以缓解这些问题,我们将大大改进Python的使用.SO社区的任何指导都非常有价值.尤其是那些了解Python执行引擎如何运行的内在知识的人.
也许很难相信,但CPython版本2.4 从未向操作系统释放内存.据称这是在Python 2.5中修复的.
此外,在Python 2.5和Python 2.6之上,性能(处理器方面)得到了改进.
请参阅Python 2.5中的新功能中的C API部分,查找名为Evan Jones的obmalloc补丁的项目
Alex Martelli(至少应该考虑他的建议)说多进程是获取内存的唯一方法.如果你不能使用multiprocessing(Python 2.6中的模块),os.fork至少是可用的.以最原始的方式使用os.fork(在开始时分叉一个工作进程,等待它完成,分叉一个新的...)仍然比重新启动解释器支付25秒更好.
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |