[pypy-dev] Towards Milestone 1

Christian Tismer tismer at stackless.com
Thu Aug 11 14:03:48 CEST 2005


Jacob Hallén wrote:

> A loose idea that I have had would be to have one object space per thread. 
> There would be several different possibilities for how to access an object 
> that isn't in your own object space; one would be that the creating thread 
> would continue to own the object. Another one would be to marshal the object 
> and transfer it. A third one would be to transfer shared object to a shared 
> object space.

In extent to what Armin suggested, I think this makes very much sense,
too. It is different from what CPython does, and it requires no GIL.
CPython makes the "mistake"to allow for threading, while making
everything world visible. This requires the GIL or every object
to be protected, which costs > 30 % of performance.
Going the opposite way makes communication between threads less
easy, but doesn't affect the default behavior.
Notabene that this is not far away to do threading without threads,
but just to spawn new processes.

I think we should try these all and later let the user design
what he needs in her particular application.

ciao - chris

-- 
Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/



More information about the Pypy-dev mailing list