Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-23 Thread Andrew P. Black
On 17 Aug 2011, at 14:24 , Igor Stasenko wrote: yes.. except one thing: since contexts are allocated on heap, it means more work for GC, then it explains that it degrading linearly. Andrew, can you play with GC parameters, like increase number of allocations between incremental GCs etc?

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-23 Thread Mariano Martinez Peck
On Tue, Aug 23, 2011 at 11:11 AM, Andrew P. Black bl...@cs.pdx.edu wrote: On 17 Aug 2011, at 14:24 , Igor Stasenko wrote: yes.. except one thing: since contexts are allocated on heap, it means more work for GC, then it explains that it degrading linearly. Andrew, can you play with GC

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-23 Thread Adrian Lienhard
For me, SmalltalkImage current vmStatisticsReportString ...works best. If you run this twice, the second time it prints the diff compared to the previous run. So if you print the following three lines SmalltalkImage current vmStatisticsReportString. self runSomeCode.

[Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Andrew P. Black
I was looking at some old slides of Joe Armstrong on Concurrency-orinted programming. He set the following challenge: Put N processes in a ring: Send a simple message round the ring M times. Increase N until the system crashes. How long did it take to start the ring? How long did it take to

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Eliot Miranda
Hi Andrew, On Wed, Aug 17, 2011 at 1:50 PM, Andrew P. Black bl...@cs.pdx.edu wrote: I was looking at some old slides of Joe Armstrong on Concurrency-orinted programming. He set the following challenge: Put N processes in a ring: Send a simple message round the ring M times. Increase N

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Stéphane Ducasse
Each process is a Pharo object (an instance of ERringElement) that contains a counter, a reference to the next ERringElement, and an ErlangProcess that is a Process that contains a reference to an instance of SharedQueue (its mailbox). The good news is that up to 50k processes, it

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Igor Stasenko
On 18 August 2011 00:02, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Andrew, On Wed, Aug 17, 2011 at 1:50 PM, Andrew P. Black bl...@cs.pdx.edu wrote: I was looking at some old slides of Joe Armstrong on Concurrency-orinted programming.  He set the following challenge: Put N processes

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Stefan Marr
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

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Igor Stasenko
On 18 August 2011 00:20, Igor Stasenko siguc...@gmail.com wrote: On 18 August 2011 00:02, Eliot Miranda eliot.mira...@gmail.com wrote: Hi Andrew, On Wed, Aug 17, 2011 at 1:50 PM, Andrew P. Black bl...@cs.pdx.edu wrote: I was looking at some old slides of Joe Armstrong on Concurrency-orinted

Re: [Pharo-project] Concurrency-Oriented Programming in Pharo

2011-08-17 Thread Igor Stasenko
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