
Aaron Denney wrote:
On 2008-09-17, Jonathan Cast
wrote: In my mind pooling vs new-creation is only relevant to process vs thread in the performance aspects.
Say what? This discussion is entirely about performance --- does CPython actually have the ability to scale concurrent programs to multiple processors? The only reason you would ever want to do that is for performance.
I entered the discussion as which model is a workaround for the other -- someone said processes were a workaround for the lack of good threading in e.g. standard CPython. I replied that most languages thread support can be seen as a workaround for the poor performance of communicating processes. (creation in particular is usually cited, but that cost can often be reduced by process pools, context switching costs, alas, is harder.)
Kernel threads /are/ expensive. Which is why all the cool kids use user-space threads.
You must love Coyotos, then (http://www.coyotos.org/), which (IIRC) allows just that (via so called 'scheduler activations', see http://www.cs.washington.edu/homes/bershad/Papers/p53-anderson.pdf) Cheers Ben