swig包装的速度

a s*_*ich 9 c++ python performance swig

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

Avi*_*hek 5

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

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

但是,如果你对代码重用以外的性能感兴趣,那么包装本机代码可能只会在你有一些计算密集的本机函数时得到回报,比如乘法矩阵,计算MD5或CRC,折叠蛋白等.

另一方面,有时你可以用python或C#等简单语言重写所有内容,享受更好的代码和更好的工具,性能相当.