[Pharo-project] Which are the limitations of MessageTally?? Re: new Cog VMs uploaded

Eliot Miranda eliot.miranda at gmail.com
Tue May 10 13:26:01 EDT 2011


On Sun, May 8, 2011 at 5:07 AM, Mariano Martinez Peck <marianopeck at gmail.com
> wrote:

>
>
>  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.
>>
>>
> Hi. I have already read this several times. From you now, from Alexandre
> Bergel, from Henrik Johansen, etc. But no one (or maybe I didn't see it)
> give a list of the real existent MessageTally limitations or problems. So
> far, the only thing I read is what Eliot says here: "show primitives quite
> accurately"
>
> So...which are the rest and what is solved by the SystemProfiler from
> OpenQwaq ??
>

MessageTally works by using delays to cause a high-priority process to
interrupt the process being profiled.  So the sample is taken only at a
suspension point.  The SystemProfiler support in the VM takes a sample
either after a primitive has run or when the VM is checking for events, so
it takes more accurate samples.  Further, the SystemProfiler's VM support
also samples the active process when collecting the sampled method, so it
more accurately ascribes profiles to processes.  MessageTally only profiles
a single process.

 Both suffer from a bug my colleague Yaron Kashai observed this week at
Cadence, which is that if GC pauses are long then both profilers will
under-measure the GC costs because they both take a single sample before
measurement.  So e.g. if a GC pause lasts five times longer than the poll
time only one sample will be takem.  Ideally the SystemProfiler would be
extended to maintain a list of sampled methods and processes.


best,
Eliot


> Thanks in advance,
>
>
> Mariano
>
>
>
>
>
>> HTH
>> Eliot
>>
>>
>>>
>>> Cheers
>>> Philippe
>>>
>>>
>>>
>>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/attachments/20110510/edf142bc/attachment.html>


More information about the Pharo-dev mailing list