在python中嵌入c++代码会使python应用程序更快吗?
Does embedding c++ code in python make your python application faster?
在python中嵌入c++代码是否使用ctypes, boost。Python等使您的Python应用程序更快?
假设我在pygtk中制作应用程序,并且我需要一些需要快速的函数。那么,如果我在应用程序中使用c++来完成某些任务,它会有好处吗?
还有哪些选项可以让python代码更快?
用c++重写代码的性能关键部分可能是一种选择。要有效地做到这一点,首先需要了解瓶颈在哪里。要做到这一点,最好的方法可能是先用纯Python编写所有内容,然后再编写profile。
另一种选择可能是使用PyPy
。
最后,如果你发现瓶颈是数值计算,那么NumPy
值得一看。
值得注意的是,例如,如果结果证明您的代码是I/o限制的,那么上述选项都不会有太大帮助。
看情况,没有一个确定的答案。如果你用c++编写糟糕的代码,它可能比编写良好的Python代码还要慢。
假设您可以编写高质量的c++代码,您可以期望在性能关键部分加速高达20倍。
正如另一个答案所说,NumPy是解决数值瓶颈的好选择(如果你考虑的是矩阵运算而不是循环!);和SciPy附带的weaver,它允许你嵌入内联c++和其他好东西。
相关文章:
- 我想通过带有C++和Python的插件创建一个可扩展的应用程序
- 将FFMpeg AVFrame对象从C++应用程序流式传输到Python的最佳方法?
- 使用 pipe() 和 fdopen() 将数据从 Python 脚本传递到 Windows 中的C++应用程序
- 在Qt应用程序中包含Python.h会导致对Qt函数的未定义引用
- SWIG和Mingw-64与Python一起使用...不是有效的 Win32 应用程序
- 在使用 cmake 和 pybind11 构建示例应用程序时找不到 Python.h
- 与 Python 中子进程中的另一个应用程序的交互式会话
- 如何分发调用Python C++应用程序?
- 如何隐藏嵌入在 c++ 应用程序中的 python 代码
- 为什么无法在 Cocoa 应用程序调用的 C++ func 中嵌入自定义 Python 模块
- 在 C++ 应用程序中嵌入 Python 环境
- 调试从 Linux 中的另一个C++应用程序启动的 python 脚本
- 将 python 嵌入我的应用程序时内存泄漏
- 在我的Qt C++应用程序中使用Anaconda的Python
- numpy.core.multiarray在通过Xcode中开发的C 应用程序调用Python模块时未能导入
- 如何中断嵌入C++应用程序中的python解释器
- 在另一个应用程序中嵌入python时,如何在子模块(即scipy.optimize.nnls)中导入或调用函数
- 可以加载C/C++和Python插件的应用程序
- 将数据从 Python 应用程序传递到正在运行的 C++ 应用程序
- 在python中嵌入c++代码会使python应用程序更快吗?