swig包装的速度

时间:2010-12-18 04:38:31

标签: c++ python performance swig

如果我要用c ++编写几个类,那么使用swig进行转换,这样我以后可以在python中使用它们,它们会比我在python中完全重写它们更快还是更慢?或者没有明显的速度差异?

1 个答案:

答案 0 :(得分:5)

SWIG生成的包装纸的质量和速度非常好,它们的表现可能与手工包装纸一样好。

根据我的经验,包装器本身非常薄,并且对它们包装的本机函数添加很少的开销,使得它成为在python或任何其他受支持的语言中使用包装库的完美有效选择,并且是重用的好方法代码。

然而,如果你对代码重用以外的性能感兴趣,那么包装本机代码可能只会在你有一些计算密集的本机函数时得到回报,比如乘法矩阵,计算MD5或CRC,折叠蛋白等。 / p> 另一方面,有时你可以用python或C#等简单语言重写所有内容,享受更好的代码和更好的工具,性能相当。