On Wed, Aug 17, 2011 at 2:24 PM, Stefan Marr <pharo@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?

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