我希望为现有应用程序带来速度提升,我正在寻找有关可能选项的建议.该应用程序是用Python编写的,使用wxPython,并与之打包py2exe(我只针对Windows平台).应用程序的某些部分是计算密集型的,在解释Python中运行得太慢.我不熟悉C,所以移植部分代码并不是我的选择.
所以我的问题基本上是我清楚地了解我的选项,如下所示,或者我是从错误的方向接近这个?
小智 6
使用PyPy确实排除了py2exe和类似的工具,至少在移植一个之前(AFAIK没有活动的工作).尽管如此,由于不需要安装PyPy二进制文件,您可能会使用包含Python源代码和PyPy二进制文件+ stdlib的更复杂的发行版,并使用一个小包装器(批处理文件,可执行文件)来轻松启动.我无法评论PyPy上的WxPython是否足够成熟以供使用,但是如果你描述你的情况,也许pypy-dev,wxpython-dev或任何一个IRC频道的人都可以给出推荐.
将代码翻译成RPython对我来说似乎不太可行.翻译工具链实际上并不是用于通用开发的工具,并且为嵌入/ ctypes生成C dll似乎并不重要.此外,RPython代码确实是低级的,使得你的Python代码足够受限可能相当于重写一半.
至于其他受限制的选项:您似乎将CPython(用C编写的原始Python解释器)与Cython(一种类似Python的语言的编译器,用于发出适用于CPython扩展模块的C代码)混淆.这两个项目都很活跃.我对Shedskin不是很熟悉,但它似乎是一个开发整个程序的工具,很少或没有与非限制性Python代码的交互.Cython似乎更合适:虽然它需要手动类型注释和低级代码来实现真正良好的性能,但从Python中使用它是微不足道的:项目的目的是生成扩展模块.
| 归档时间: |
|
| 查看次数: |
1636 次 |
| 最近记录: |