On 18 August 2011 00:24, Stefan Marr <ph...@stefan-marr.de> 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? > I think, when there is only a single runable process for a given priority, > then the list only contains that one. > Yes, but as far as i remember removing from head/adding to list tail is O(1) operation. It should not depend linearly from the size of a list.
> 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 regards, Igor Stasenko AKA sig.