Hi Christian, On Thu, Aug 11, 2005 at 02:03:48PM +0200, Christian Tismer wrote: > >A loose idea that I have had would be to have one object space per thread. > > Notabene that this is not far away to do threading without threads, > but just to spawn new processes.
Yes, this is close to a multiprocess approach (as we can do today with multiple CPython processes). An alternative might be to not marshal the objects to pass them around; they can be "virtually" passed around but stay where they are physically in memory. This is better because we can have container objects that point to objects from other spaces, that themselves can point to objects from yet other spaces, etc. Note that this reintroduces some locking issues but they could have a much better performance impact (e.g. only along the boundaries between spaces). Finally, note that in practice it is unclear if several object space instances are really the best way to implement it; depending on the situation it could also be implemented as a single object space, with only conceptual boundaries, implemented with proxy objects (similar to the lazy objects of the thunk object space). I know that multiple object spaces was a hot idea at the beginning but it's still unclear how to use this idea... A bientot, Armin. _______________________________________________ [email protected] http://codespeak.net/mailman/listinfo/pypy-dev
