On Wed, Aug 17, 2011 at 2:24 PM, Stefan Marr <[email protected]> wrote:
> Hi Andrew: > > On 17 Aug 2011, at 22:50, Andrew P. Black wrote: > > > I can imagine that the increasing process-creation time is due to beating > on the memory manager. But why the increasing message-sending time as the > number of processes increases? (Recall that exactly one process is runnable > at any given time). I'm wondering if the scheduler is somehow getting > overwhelmed by all of the non-runable processes that are blocked on > Semaphores in SharedQueue. Any ideas? > Vague from memory, and might confused things (we have tried too many > different things here ;)): > Shouldn't the standard interpreter VM remove the process from the scheduler > list when it is waiting on a semaphore? > Yes, you're right. And any flavour VM will do this. All the processes in the ring except the running one are waiting on the semaphore. > I think, when there is only a single runable process for a given priority, > then the list only contains that one. > > Best regards > Stefan > > > > > (My code is on Squeaksource in project Erlang. But be warned that there > is a simulation of the Erlang "universal server" in there too. To run this > code, look for class ErlangRingTest.) > > > > > > > > > > > > > > -- > Stefan Marr > Software Languages Lab > Vrije Universiteit Brussel > Pleinlaan 2 / B-1050 Brussels / Belgium > http://soft.vub.ac.be/~smarr > Phone: +32 2 629 2974 > Fax: +32 2 629 3525 > > > -- best, Eliot
