That is a good sight linked above. It all depends on what you want to do. If you want to embed Python in you C++ program, I recommend Boost.Python over Swig. You should also check out
Py++(make sure to get the SVN version) which allows you to generate Boost.Python wrappers for you C++ code just like Swig does. I use this in one of my projects and it works wonderfully.
If you just need to optimize a small method weave looks like a very promising method but I have never used it myself. The only issue I see with weave is that you need to have a complier present to start you program.