Pau*_*nta 9 c++ python performance
我正在开发一个使用Python扩展/编写脚本的C++应用程序.当然,C++通常比Python快得多,但这是否意味着您应该尽可能多地使用Python代码执行C++代码?
我问这个是因为我不确定,在用C++编写的代码和用Python编写的代码之间切换控制是否有任何性能成本?我是否应该在任何场合使用用C++编写的代码,或者我应该避免回调C++来完成简单的任务,因为执行C++代码可能带来的任何速度增益都超出了语言之间切换的成本?
编辑:我应该说清楚,我不是要求它实际解决问题.我纯粹是出于好奇而问,这是值得记住的未来.所以我对替代解决方案不感兴趣,我只想从技术角度了解答案.:)
我不知道有一个具体的规则,但许多人遵循的一般规则是:
成本是存在的,但可以忽略不计。这是因为您可能做了相当多的工作将 python 的高级数据类型转换为 C++ 兼容的表示形式。当然,这与从一个 C++ 函数调用另一个函数的成本类似,存在一些开销。何时从 Python 切换到 C++ 是个好主意的规则是:
具有很少参数的函数
对少量数据进行大量处理的函数
尽可能少调用的函数 - 如果可能的话合并函数调用
| 归档时间: |
|
| 查看次数: |
671 次 |
| 最近记录: |