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

发布于 2021-01-29 18:42:46

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

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

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

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

关注者
0
被浏览
46
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

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

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

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

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看