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 <andreas.raab@gmx.de> Répondre à : The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org> Pour : The general-purpose Squeak developers list <squeak-dev@lists.squeakfoundation.org> Groupes de discussion: gmane.comp.lang.smalltalk.squeak.general Références : <j0gk38$b7i$2@dough.gmane.org> <4E2C0131.4040709@gmx.de> <j0hi13$70h$1@dough.gmane.org>
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