Original Post
Hello, I'd like to know if anyone of you experienced some differences between SWIG and Boost::Python, especially regarding performance? I already tested SWIG with some simple class, which worked nicely, and I think a big advantage is that I can just mention some .h files and they will be exposed just as they are inside my C++ code. If I want to restrict anything, I can still write a special .i file instead of just using the .h file. In Boost::Python I'd have to explicitley write every wrapped function, which would mean that I'd also have to change that when I change the class itself (meaning I'd have to maintain my class in three different domains (cpp, h, and wrapper), but normally I just want to expose the interface in exactly the same way as it is defined in the .h file. Now, are there any differences in performance? If there should be any significant ones (meaning my framerate would drop by 25% or something), I'd surely take another look on Boost::Python, but regarding features, I'd rather stick with SWIG (which actually rhymes, haha :) ). And are there any other differences? One big advantage for SWIG is that it can target a whole load of languages - I'm not sure if I'd use any of them, but it wouldn't restrict me in the future. Also, SWIG is just an executable and I wouldn't have issues with building/linking etc. So, what are your opinions?