Hi, I've been experimenting with using PyPy in a big application, and the initial results are very encouraging. One part of the application is a fairly complex compiler, and that goes 2.5 times faster with PyPy than with Python 2.6, which is a very positive result.
The compiler is the one CPU-intensive bit of the system that I could easily isolate to test with PyPy. All the rest of it consists of a number of servers connected together using omniORB (which I maintain). omniORBpy integrates the C++ core of omniORB with Python, via the C API. omniORB is multi-threaded, and needs to call into Python from threads created in the C++ world. With CPython that's possible, although it takes some care to behave properly with thread states and the interpreter lock and so on. As far as I can see, PyPy's C API implementation doesn't support the thread state functions like PyGILState_Ensure and PyThreadState_Get, which isn't a huge surprise given how different PyPy is. Are these functions likely to be implemented at any point? Alternatively, is there any other way for C/C++ code to call into PyPy from a thread created outside PyPy? If there isn't a mechanism to do it at the moment, is it possible at all? How much effort would it be to create one? Thanks, Duncan. -- -- Duncan Grisby -- -- [email protected] -- -- http://www.grisby.org -- _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
