我有一个很大的Swig Python模块。C++包装器最终大约为320,000 LoC (我猜包括报头)。我现在用-O1编译它,g++生成了一个44MiB大小的二进制文件,大约需要3分钟来编译它。如果我关闭优化(-O0),二进制文件的速度是40MiB,编译需要44秒。
用-O0编译包装器会严重影响python模块的性能吗?在我分析模块在不同优化级别的性能之前,有没有人之前做过这样的分析,或者对它是否重要有任何见解?
我发现当我对Python提出更多的要求时,python并没有100%地使用我的机器资源,而且它并不是真的很快,如果与许多其他解释语言相比,它是很快的,但当与编译语言相比时,我认为差异真的是非常显著的。在Python3中使用Just In Time (JIT)编译器可以加速吗?
通常,JIT编译器是唯一可以提高解释型语言性能的东西,所以我指的是这个,如果有其他解决方案,我很乐意接受新的答案。