在python中嵌入c++代码会使python应用程序更快吗?

Does embedding c++ code in python make your python application faster?

本文关键字:python 应用程序 代码 c++      更新时间:2023-10-16

在python中嵌入c++代码是否使用ctypes, boost。Python等使您的Python应用程序更快?

假设我在pygtk中制作应用程序,并且我需要一些需要快速的函数。那么,如果我在应用程序中使用c++来完成某些任务,它会有好处吗?

还有哪些选项可以让python代码更快?

用c++重写代码的性能关键部分可能是一种选择。要有效地做到这一点,首先需要了解瓶颈在哪里。要做到这一点,最好的方法可能是先用纯Python编写所有内容,然后再编写profile。

另一种选择可能是使用PyPy

最后,如果你发现瓶颈是数值计算,那么NumPy值得一看。

值得注意的是,例如,如果结果证明您的代码是I/o限制的,那么上述选项都不会有太大帮助。

看情况,没有一个确定的答案。如果你用c++编写糟糕的代码,它可能比编写良好的Python代码还要慢。

假设您可以编写高质量的c++代码,您可以期望在性能关键部分加速高达20倍。

正如另一个答案所说,NumPy是解决数值瓶颈的好选择(如果你考虑的是矩阵运算而不是循环!);和SciPy附带的weaver,它允许你嵌入内联c++和其他好东西。