On 18 August 2011 00:24, 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? 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.