## [squeak-dev] Re: Profile interpretation

Andreas Raab andreas.raab at gmx.de
Sun Jul 24 18:26:33 UTC 2011

```On 7/24/2011 18:42, Hilaire Fernandes wrote:
> As we are writing about bogus, you can explain me one aspect of the
> profile I found hard to interpret. If you look at this profile snippet
> (I hope it will print in a readable form):
>
>>      |      |                          16.7% {2692ms} DrGeo>>updateDirtyCostumes
>>      |      |                            16.6% {2686ms} DrGAngle3PointsCostume(DrGMathItemCostume)>>update
>>      |      |                              10.4% {1674ms} DrGAngle3PointsCostume>>redraw
>>      |      |                                |9.4% {1513ms} DrGAngle3PointsCostume>>redrawShape
>>      |      |                                |  9.3% {1496ms} DrGAngle3PointsCostume>>redrawArc
>>      |      |                                |    9.2% {1485ms} DrGArcMorph>>center:radius:origin:length:
>>      |      |                                |      8.6% {1395ms} DrGArcMorph(PolygonMorph)>>computeBounds
>>      |      |                                |        7.8% {1255ms} DrGArcMorph(PolygonMorph)>>curveBounds
>>      |      |                                |          7.6% {1231ms} DrGArcMorph(PolygonMorph)>>lineSegmentsDo:
>>      |      |                                |            7.2% {1162ms} DrGArcMorph(PolygonMorph)>>coefficients
>>      |      |                                |              4.3% {687ms} Cubic>>bestSegments
>>      |      |                                |                2.8% {447ms} Cubic>>calcEnoughSegments
>>      |      |                                |                  |1.8% {297ms} Cubic>>enough:withMeasure:withIn:
>>      |      |                                |                  |  1.8% {291ms} Cubic>>measureFor:
>>      |      |                                |                  |    1.6% {251ms} Cubic(SequenceableCollection)>>polynomialEval:
>>      |      |                                |                1.5% {239ms} Cubic>>honeIn:
>>      |      |                              3.1% {501ms} DrGSegmentCostume>>redraw
>
>
> The way the message calls are nested in the profile result, for me it
> says: DrGSegmentCostume>>redraw is called in the context of
> DrGAngle3PointsCostume(DrGMathItemCostume)>>update which is absolutely
> not the case. So what is it?

Don't know. I have not seen any problems with incorrectly reported call
trees. The only thing I could imagine is that the calls to
DrGMathItemCostume are incorrectly coalesced by MessageTally.
Alternatively, it's possible that changes to context or compiled method
in Pharo have something to do with it (MessageTally relies a lot on
method / context comparisons for reporting).

> Le 24/07/2011 13:25, Andreas Raab a écrit :
>> Your best bet at this point is probably to go back to a VM that doesn't
>> have the problem (probably as far as 3.6 if that's feasible) or to
>> extract the OpenQwaq system profiler which you could then run on the
>> desktop (I'm not sure if it's supported by the Stack VM; you could try
>> it to see if it works on the iPad as well).
>
> Is this OpenQwaq system profiler located at the image level or VM level?

It's purely in the image but it needs VM support which I think is only
in Cog.

Cheers,
- Andreas

```