扩展python-swig,而不是swig或Cython

RSabet:

我在python代码中发现了瓶颈,并与psycho等打交道。然后决定编写ac / c ++扩展以提高性能。

借助swig,您几乎不需要关心参数等。一切正常。

现在我的问题是:swig创建了一个很大的py文件,该文件在调用实际的.pyd或.so代码之前会执行很多“检查”和“ PySwigObject”。

你们中的任何人是否有经验,如果您手动编写此文件或让wig来做,是否可以获得更多性能。

Mapad:

可以肯定的是,手动执行操作始终可以获得性能上的提升,但是与执行此操作所需的努力相比,提升将非常小。我没有任何数据可以提供给您,但我不建议您这样做,因为您将需要手工维护该接口,如果您的模块很大,这不是一个选择!

选择正确的方法来选择使用脚本语言是因为您希望快速开发。这样您就避免了早期的优化综合症,现在您想要优化瓶颈部分,太好了!但是,如果您手动执行C / python接口,您肯定会陷入早期优化综合症。

如果您希望使用更少的接口代码,可以考虑从C代码创建一个dll,然后通过cstruct直接从python使用该库

如果只想在程序中使用python代码,请考虑Cython

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章