On Tue, May 3, 2011 at 11:57 AM, Philippe Marschall <kustos@gmx.net> wrote:
On 03.05.2011 19:51, Eliot Miranda wrote:
>
>
> On Sun, May 1, 2011 at 4:38 AM, Philippe Marschall <kustos@gmx.net
> <mailto:kustos@gmx.net>> wrote:
>
> � � On 29.04.2011 19:03, Eliot Miranda wrote:
> � � >
> � � >
> � � > On Fri, Apr 29, 2011 at 9:04 AM, Philippe Marschall
> � � <kustos@gmx.net
> � � <mailto:kustos@gmx.net>
> � � > <mailto:kustos@gmx.net
> � � <mailto:kustos@gmx.net>>> wrote:
> � � >
> � � > � � On 27.04.2011 19 <tel:27.04.2011%2019>
> � � <tel:27.04.2011%2019>:23, Eliot Miranda wrote:
> � � > � � > Philippe,
> � � > � � >
> � � > � � > � � can you please profile before and after? �This could
> � � very well
> � � > � � be to
> � � > � � > do with the additional cost of shallowCopy for contexts, but
> � � it is
> � � > � � > inevitable that a correct implementation is going to be more
> � � expensive
> � � > � � > than the simple block-copy. �The new implementation can be
> � � optimized,
> � � > � � > but we need to profile first to be sure we're tilting at the
> � � relevant
> � � > � � > windmill.
> � � >
> � � >
> � � > � � What kind of profiling do you have in mind, MessageTally?
> � � >
> � � >
> � � > Yes, that would be fine. �Thanks!
>
> � � OK, there you go. As you'll see the runtime is about the same, that's
> � � because we do more iterations in the same time. Also note the time we're
> � � spending in WriteStream >> #nextPutAll: with interestingly has a
> � � different growing behavior than WriteStream >> #nextPut: (only 25% vs
> � � 100%). I already raised the issue once but people argued that the
> � � current code is prefect.
>
>
> Hmmm. �GC behaviour is very different. �Also requestContext Also shows
> up in the 2382 profiles but not the 2370 traces. �You'll need to dig a
> little deeper to account for these differences. �I guess they could well
> be to do with the new (correct) MethodContext copying behaviour
> retaining more state and hence stressing the GC more.

What approach do you suggest should I take?

I have no idea. �You could try and break down the various activities and benchmark them separately I suppose. �You could look at the profiles you're already generating in higher resolution to see where the time is going. �You could also try and extract the SystemProfiler from OpenQwaq, which will run on Cog, and is better than MessageTally. �Andreas wrote it to get around some of MessageTally's limitations. �It should hopefully show primitives quite accurately.

HTH
Eliot

Cheers
Philippe