Max*_*mus 23
我使用过两者(对于同一个项目):Boost与STL更好地集成,特别是C++异常.此外,它的内存管理机制(试图桥接C++内存管理和Python GC)比SWIG更灵活.但是,SWIG有很多更好的文档,没有外部的依赖关系,如果你包裹在SWIG为Python库你比那里得到一个Java/Perl的/ Ruby包装器,以及中途更多.
我不认为有一个明确的选择:对于较小的项目,我会再次使用Boost.Python,对于更大的长寿项目,SWIG的额外投资是值得的.
我建议使用SIP.由于以下原因,SIP优于SWIG:
对于给定的文件集,swig生成比SIP更多的重复(开销)代码.SIP通过使用可以静态或动态链接的库文件来管理生成较少的重复(开销)代码.换句话说,SIP具有更好的可扩展性.
SIP的执行时间远远少于SWIG的执行时间.参考Python包装工具:性能研究.很遗 我有个人副本,可以根据要求分享.
| 归档时间: |
|
| 查看次数: |
12071 次 |
| 最近记录: |