[squeak-dev] Re: Request for adive on Profile
Hilaire Fernandes
hilaire.fernandes at edu.ge.ch
Sat Jul 23 10:17:43 UTC 2011
And to compare the numbers, here is the profile of the same DrGeo sketch
interaction but on a PC workstation. Very different indeed.
Hilaire
-------------- next part --------------
- 15943 tallies, 16166 msec.
**Tree**
--------------------------------
Process: (60) Input events fetching process: [delaySemaphore wait] in Delay>>wait
--------------------------------
26.2% {4232ms} InputEventPollingFetcher(InputEventFetcher)>>eventLoop
25.7% {4157ms} InputEventPollingFetcher>>waitForInput
25.7% {4157ms} Delay>>wait
25.5% {4128ms} primitives
--------------------------------
Process: (40s) 831520768: nil
--------------------------------
51.4% {8302ms} WorldState>>doOneCycleFor:
48.9% {7903ms} WorldState>>doOneCycleNowFor:
|25.9% {4191ms} WorldState>>displayWorldSafely:
| |25.9% {4191ms} PasteUpMorph>>displayWorld
| | 25.9% {4191ms} PasteUpMorph>>privateOuterDisplayWorld
| | 25.9% {4190ms} WorldState>>displayWorld:submorphs:
| | 24.6% {3975ms} WorldState>>drawWorld:submorphs:invalidAreasOn:
| | 22.3% {3607ms} FormCanvas(Canvas)>>fullDrawMorph:
| | 22.3% {3605ms} FormCanvas(Canvas)>>fullDraw:
| | 22.3% {3603ms} DrGeoWindow(Morph)>>fullDrawOn:
| | 18.2% {2945ms} DrGeoWindow(Morph)>>drawSubmorphsOn:
| | |17.6% {2837ms} FormCanvas(Canvas)>>fullDrawMorph:
| | | 17.4% {2819ms} FormCanvas(Canvas)>>fullDraw:
| | | 17.3% {2797ms} ToolDockingBarMorph(Morph)>>fullDrawOn:
| | | 14.9% {2406ms} DrGDrawable(PasteUpMorph)>>drawSubmorphsOn:
| | | 13.0% {2109ms} FormCanvas(Canvas)>>fullDrawMorph:
| | | 12.7% {2060ms} FormCanvas(Canvas)>>fullDraw:
| | | 12.3% {1981ms} DrGSegmentMorph(Morph)>>fullDrawOn:
| | | 6.6% {1069ms} FormCanvas(Canvas)>>drawMorph:
| | | |5.9% {952ms} FormCanvas(Canvas)>>draw:
| | | | 3.5% {573ms} DrGArcMorph(DrGPolylineMorph)>>drawOn:
| | | | |3.5% {563ms} DrGArcMorph(PolygonMorph)>>drawBorderOn:usingEnds:
| | | | | 1.1% {180ms} SimpleBorder>>drawLineFrom:to:on:
| | | | 1.8% {293ms} DrGLabelMorph(StringMorph)>>drawOn:
| | | | 1.8% {284ms} FormCanvas(Canvas)>>drawString:in:font:color:
| | | | 1.7% {283ms} FormCanvas>>drawString:from:to:in:font:color:
| | | 2.4% {394ms} FormCanvas>>isVisible:
| | 1.6% {263ms} FormCanvas(Canvas)>>drawMorph:
| | |1.6% {251ms} FormCanvas(Canvas)>>draw:
| | | 1.5% {242ms} DrGeoWindow(Morph)>>drawOn:
| | | 1.4% {230ms} FormCanvas(Canvas)>>fillRectangle:fillStyle:borderStyle:
| | | 1.0% {162ms} SimpleBorder>>frameRectangle:on:
| | 1.2% {191ms} DrGeoWindow(SystemWindow)>>drawDropShadowOn:
|22.7% {3673ms} HandMorph>>processEvents
| 21.5% {3468ms} HandMorph>>handleEvent:
| 19.7% {3178ms} HandMorph>>sendMouseEvent:
| |19.7% {3178ms} HandMorph>>sendEvent:focus:clear:
| | 18.7% {3030ms} HandMorph>>sendFocusEvent:to:clear:
| | 18.6% {3015ms} DrGDrawable(Morph)>>handleFocusEvent:
| | 18.6% {3015ms} DrGDrawable(Morph)>>handleEvent:
| | 18.6% {3004ms} MouseMoveEvent>>sentTo:
| | 18.6% {3004ms} DrGDrawable>>handleMouseMove:
| | 18.5% {2995ms} DrGDrawable>>mouseMove:
| | 18.2% {2937ms} DrGSelectTool(DrGDynamicTool)>>handleMouseAt:
| | 18.1% {2933ms} DrGSelectToolStateDragged>>handleMouseAt:
| | 18.1% {2923ms} DrGeoDomain>>moveEvent:inDirection:withDirty:
| | 18.0% {2915ms} DrGeoDomain>>updateDirty:
| | 16.8% {2721ms} DrGeoDomain(Object)>>triggerEvent:
| | 16.7% {2692ms} WeakMessageSend>>value
| | 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
| | |2.1% {340ms} DrGSegmentMorph>>from:to:
| | | 1.6% {257ms} DrGSegmentMorph(PolygonMorph)>>computeBounds
| | | 1.2% {195ms} DrGSegmentMorph(Morph)>>changed
| | | 1.1% {178ms} DrGSegmentMorph(Morph)>>invalidRect:
| | | 1.1% {178ms} DrGSegmentMorph(Morph)>>invalidRect:from:
| | | 1.1% {177ms} DrGDrawable(PasteUpMorph)>>invalidRect:from:
| | | 1.1% {174ms} DrGDrawable(Morph)>>invalidRect:from:
| | 2.1% {336ms} DrGPointCostume>>redraw
| | 1.1% {171ms} DrGValueCostume>>redraw
| 1.6% {257ms} MouseOverHandler>>processMouseOver:
| 1.4% {233ms} MouseOverHandler>>handleAsMouseOver:
| 1.4% {233ms} HandMorph>>handleEvent:
| 1.4% {230ms} HandMorph>>sendMouseEvent:
| 1.4% {230ms} HandMorph>>sendEvent:focus:clear:
| 1.1% {171ms} HandMorph>>sendFocusEvent:to:clear:
| 1.0% {165ms} DrGDrawable(Morph)>>handleFocusEvent:
| 1.0% {164ms} DrGDrawable(Morph)>>handleEvent:
| 1.0% {164ms} MouseEvent>>sentTo:
| 1.0% {164ms} DrGDrawable(Morph)>>handleMouseOver:
| 1.0% {164ms} DrGDrawable(Morph)>>containsPoint:event:
| 1.0% {162ms} DrGDrawable(Morph)>>fullBounds
2.5% {398ms} WorldState>>interCyclePause:
2.5% {398ms} Delay>>wait
1.7% {283ms} primitives
--------------------------------
Process: (10) 71827456: ProcessorScheduler class>>idleProcess
--------------------------------
8.1% {1306ms} ProcessorScheduler class>>idleProcess
--------------------------------
Process: (50) 959184896: WeakArray class>>finalizationProcess
--------------------------------
14.3% {2317ms} WeakArray class>>finalizationProcess
13.9% {2252ms} primitives
**Leaves**
27.3% {4411ms} Delay>>wait
13.9% {2252ms} WeakArray class>>finalizationProcess
8.1% {1306ms} ProcessorScheduler class>>idleProcess
2.1% {337ms} Point>>+
1.3% {209ms} Point>>*
1.2% {199ms} Float(Number)>>adaptToPoint:andSend:
1.2% {195ms} Rectangle>>right
1.2% {190ms} Rectangle>>setOrigin:corner:
1.2% {190ms} Rectangle class>>origin:corner:
1.2% {187ms} Rectangle>>left
**Memory**
old +347,748 bytes
young +16,292 bytes
used +364,040 bytes
free -364,040 bytes
**GCs**
full 0 totalling 0ms (0.0% uptime)
incr 3571 totalling 1,509,925ms (9340.0% uptime), avg 423.0ms
tenures 7 (avg 510 GCs/tenure)
root table 0 overflows
More information about the Squeak-dev
mailing list
|