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

Reply via email to