On 07/25/2011 12:44 PM, Hilaire Fernandes wrote: > Read bellow and tell me what you think about it? > The way MessageTally renders the method tree seems to me inconsistent. > > Hilaire > > -------- Message original -------- > Sujet: Re: Profile interpretation > Date : Sun, 24 Jul 2011 20:26:33 +0200 > De : Andreas Raab <[email protected]> > Répondre à : The general-purpose Squeak developers list > <[email protected]> > Pour : The general-purpose Squeak developers list > <[email protected]> > Groupes de discussion: gmane.comp.lang.smalltalk.squeak.general > Références : <[email protected]> <[email protected]> > <[email protected]> > > 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.
I extracted it and uploaded it to SqueakSource [1]. It's still GPLv2 [1] http://www.squeaksource.com/SystemProfilerPharo.html Cheers Philippe
