3


我想知道将我的 python 应用程序迁移到 PYPY 是否可靠。我需要特别提高我用于科学监控的许多 python 代码和基于扭曲的模块的性能,并且我正在考虑未来的方法。

无论是使用 pypy 或 Cython 的某些模型,Python 基础都没有表现出提高 CPython 性能的意图。

没有必要重新发明轮子,但Guido似乎并不介意python用户的需求。在这种情况下,很难找到方向,该做出什么决定?

...而且我绝对不想使用另一种编程语言。

PD:实际上我使用的是 2.7 版本...

编辑:我的代码已经过多次分析和测试,否则我不会问...谢谢您回答 Francis,无论如何...

编辑:我想知道更多关于这个的意见......

4

1 回答 1

3

我认为你对 CPython 有错误的印象。CPython 是参考实现,将始终具有最新的 Python 功能和最新版本的 Python。性能很重要,CPython 的性能随着每个小版本的发布而显着提高。CPython 绝对是当今可用的实现中最“未来可靠”的。

然而,CPython 的一个非常重要的特性是桥接到 C 环境,即运行用 C 编写的模块,这些模块包装 C 库或包含进行手动内存管理的微调 C 代码。使用 C 模块限制了您可以执行的奇异运行时内容的数量。例如,如果您使用任何用 C 语言编写的 Python 模块(如果它运行的话),那么PyPy 的性能会显着下降!

您可以尝试 PyPy、Cython、IronPython、Jython 等,看看它是否适合您,但如果您使用任何 C 模块,可能会感到失望。

相反,您应该采取的方法是分析您的代码并识别任何热点或内部循环并优化它们。由于您有一个 IO 驱动的应用程序,我强烈怀疑您的大部分“缓慢”与您的 Python 实现无关,而是与 IO 相关活动有关。可能需要调整的不是您的应用程序,而是它运行的机器。

于 2013-02-06T14:19:22.377 回答