Profiling?

Hilaire Fernandes hilaire at ext.cri74.org
Thu Apr 6 13:53:36 UTC 2006


In a PasteUpMorph I have tenth of programmed Morph shapes (line, cicle, 
polyline), and it starts to get slow. I need to collect some profiling 
data to optimise the code.

I have tried the MessageTally, however I don't really understand the 
output and the data does not seem practical to use, I can't really see 
where are the bottleneck from this data.

Are there alternative tools for profiling?

Hilaire


> - 3518 tallies, 3696 msec.
> 
> **Tree**
> 100.0% {3696ms} PasteUpMorph>>doOneCycle
>   100.0% {3696ms} WorldState>>doOneCycleFor:
>     59.2% {2188ms} WorldState>>doOneCycleNowFor:
>       |50.7% {1874ms} HandMorph>>processEvents
>       |  |48.2% {1781ms} HandMorph>>handleEvent:
>       |  |  |47.9% {1770ms} HandMorph>>sendMouseEvent:
>       |  |  |  47.9% {1770ms} HandMorph>>sendEvent:focus:clear:
>       |  |  |    36.1% {1334ms} PasteUpMorph(Morph)>>processEvent:
>       |  |  |      |36.1% {1334ms} PasteUpMorph>>processEvent:using:
>       |  |  |      |  36.1% {1334ms} PasteUpMorph(Morph)>>processEvent:using:
>       |  |  |      |    36.1% {1334ms} MorphicEventDispatcher>>dispatchEvent:with:
>       |  |  |      |      31.9% {1179ms} MorphicEventDispatcher>>dispatchDefault:with:
>       |  |  |      |        |31.6% {1168ms} DrGView(Morph)>>processEvent:using:
>       |  |  |      |        |  31.6% {1168ms} MorphicEventDispatcher>>dispatchEvent:with:
>       |  |  |      |        |    31.6% {1168ms} MorphicEventDispatcher>>dispatchDefault:with:
>       |  |  |      |        |      31.6% {1168ms} DrGDrawable(PasteUpMorph)>>processEvent:using:
>       |  |  |      |        |        31.6% {1168ms} DrGDrawable(Morph)>>processEvent:using:
> [31.6% {1168ms} MorphicEventDispatcher>>dispatchEvent:with:
> [  31.6% {1168ms} MorphicEventDispatcher>>dispatchDefault:with:
> [    31.6% {1168ms} DrGDrawable(Morph)>>handleEvent:
> [      31.6% {1168ms} MouseMoveEvent>>sentTo:
> [        31.6% {1168ms} DrGDrawable>>handleMouseMove:
> [          31.6% {1168ms} DrGDrawable>>mouseMove:
> [            31.6% {1168ms} DrGSelectTool(DrGDynamicTool)>>handleMouseAt:
> [              31.6% {1168ms} DrGSelectToolStateNeutral(DrGSelectToolState)>>handleMouseAt:
> [                27.5% {1016ms} DrGDrawable>>tip:at:
> [                  |26.0% {961ms} DrGDrawable(Morph)>>addMorphBack:
> [                  |  26.0% {961ms} DrGDrawable(Morph)>>privateAddMorph:atIndex:
> [                  |    26.0% {961ms} DrGDrawable>>layoutChanged
> [                  |      26.0% {961ms} DrGGeometryView>>redrawCostumes
> [                  |        25.5% {942ms} DrGCompositeCostume>>redraw
> [                  |          25.1% {928ms} DrGSegmentCostume>>redraw
> [                  |            25.1% {928ms} DrGSegmentMorph>>from:to:
> [                  |              25.1% {928ms} DrGSegmentMorph(PolygonMorph)>>computeBounds
> [[24.6% {909ms} DrGSegmentMorph(Morph)>>layoutChanged
> [[  24.6% {909ms} DrGDrawable>>layoutChanged



-- 
ADD R0,R1,R2,LSL #2



More information about the Squeak-dev mailing list