MessageTally is bad advisor in this issue, because it runs additional process which watching the other one. So, you may
2009/5/3 Stéphane Ducasse <[email protected]>: > Strange I cannot reproduce my benchmarh behavior. May be I had two > transcript open, would be idiot but why not. > > in 10297 MessageTally spyOn: [1 to: 1000 do: [:i | Transcript show: i > printString ;cr]] > -> 1934 ms > > and in 10195 > -> 1850 > In 10292 i got these numbers growing higher and higher each time i run it: Transcript clear. [1 to: 1000 do: [:i | Transcript show: i printString ;cr]] timeToRun (lower run earlier) 2918 2630 2276 1948 1636 this is strange. Seems like Transcript clear not doing as it should be, leaking the space. > now with > [....] timeToRun > I get 2434 ms in 10297 > > and 2123 in 10195 > > But I do not now have TextMorphCommandHistory referenced at all > > Something like that > > - 1831 tallies, 1831 msec. > > **Tree** > 100.0% {1831ms} TranscriptStream>>show: > 100.0% {1831ms} TranscriptStream>>endEntry > 99.8% {1827ms} TranscriptStream(Object)>>changed: > 99.8% {1827ms} PluggableTextMorph>>update: > 54.7% {1002ms} PluggableTextMorph>>handleEdit: > |41.5% {760ms} TextMorphForEditView(TextMorph)>>handleEdit: > | |37.1% {679ms} TextMorphForEditView>>updateFromParagraph > | | |29.8% {546ms} > PluggableTextMorph(ScrollPane)>>setScrollDeltas > | | | |15.9% {291ms} > PluggableTextMorph(ScrollPane)>>hideOrShowScrollBars > | | | | |7.2% {132ms} > PluggableTextMorph(ScrollPane)>>resizeScrollBars > | | | | | |4.8% {88ms} > PluggableTextMorph(ScrollPane)>>hResizeScrollBar > | | | | | | |3.7% {68ms} > PluggableTextMorph(ScrollPane)>>hScrollBarWidth > | | | | | | | 3.1% {57ms} > PluggableTextMorph(ScrollPane)>>vIsScrollbarNeeded > | | | | | | | 3.1% {57ms} > PluggableTextMorph(ScrollPane)>>vIsScrollable > | | | | | | | 2.7% {49ms} > PluggableTextMorph(ScrollPane)>>vLeftoverScrollRange > | | | | | | | 2.1% {38ms} > PluggableTextMorph(ScrollPane)>>vScrollBarHeight > | | | | | | | 2.1% {38ms} > PluggableTextMorph(ScrollPane)>>hIsScrollbarNeeded > | | | | | |2.3% {42ms} > PluggableTextMorph(ScrollPane)>>vResizeScrollBar > | | | | |4.5% {82ms} > PluggableTextMorph(ScrollPane)>>vHideOrShowScrollBar > | | | | | |4.1% {75ms} > PluggableTextMorph(ScrollPane)>>vIsScrollbarNeeded > | | | | | | 3.7% {68ms} > PluggableTextMorph(ScrollPane)>>vIsScrollable > | | | | | | 3.1% {57ms} > PluggableTextMorph(ScrollPane)>>vLeftoverScrollRange > | | | | | | 2.2% {40ms} > PluggableTextMorph(ScrollPane)>>vScrollBarHeight > | | | | | | 2.2% {40ms} > PluggableTextMorph(ScrollPane)>>hIsScrollbarNeeded > | | | | |3.9% {71ms} > PluggableTextMorph(ScrollPane)>>hHideOrShowScrollBar > | | | | | 2.2% {40ms} > PluggableTextMorph(ScrollPane)>>hHideScrollBar > | | | |13.7% {251ms} > PluggableTextMorph(ScrollPane)>>vSetScrollDelta > | | | | 6.1% {112ms} ScrollBar>>setValue: > | | | | |6.1% {112ms} ScrollBar(Slider)>>setValue: > | | | | | 4.9% {90ms} > PluggableTextMorph(ScrollPane)>>vScrollBarValue: > | | | | | 2.5% {46ms} > PluggableTextMorph(ScrollPane)>>vLeftoverScrollRange > | | | | | 2.2% {40ms} TransformMorph>>offset: > | | | | 2.8% {51ms} > PluggableTextMorph(ScrollPane)>>vLeftoverScrollRange > | | | | 2.2% {40ms} > PluggableTextMorph(ScrollPane)>>vScrollBarHeight > | | | | 2.1% {38ms} > PluggableTextMorph(ScrollPane)>>hIsScrollbarNeeded > | | |7.4% {135ms} > TextMorphForEditView(TextMorph)>>updateFromParagraph > | | | 6.8% {125ms} TextMorphForEditView(TextMorph)>>fit > | | | 4.4% {81ms} TextMorphForEditView(Morph)>>extent: > | | | |4.0% {73ms} > TextMorphForEditView(Morph)>>changed > | | | | 3.9% {71ms} > TextMorphForEditView(Morph)>>invalidRect: > | | | | 3.9% {71ms} > TextMorphForEditView(Morph)>>invalidRect:from: > | | | | 3.9% {71ms} > TransformMorph>>invalidRect:from: > | | | | 2.2% {40ms} > TransformMorph(Morph)>>invalidRect:from: > | | | 2.2% {40ms} TextMorphForEditView(Morph)>>changed > | | | 2.2% {40ms} > TextMorphForEditView(Morph)>>invalidRect: > | | | 2.1% {38ms} > TextMorphForEditView(Morph)>>invalidRect:from: > | | | 2.1% {38ms} > TransformMorph>>invalidRect:from: > | |4.4% {81ms} > TextMorphForEditView(TextMorph)>>selectionChanged > | | 3.7% {68ms} TextMorphForEditView(Morph)>>invalidRect: > | | 3.7% {68ms} > TextMorphForEditView(Morph)>>invalidRect:from: > | | 3.7% {68ms} TransformMorph>>invalidRect:from: > |9.8% {179ms} PluggableTextMorph>>scrollSelectionIntoView > | |9.8% {179ms} PluggableTextMorph>>scrollSelectionIntoView: > | | 8.1% {148ms} PluggableTextMorph(ScrollPane)>>scrollBy: > | | 2.7% {49ms} TransformMorph>>offset: > | | |2.5% {46ms} TransformMorph(Morph)>>changed > | | 2.4% {44ms} > PluggableTextMorph(ScrollPane)>>vLeftoverScrollRange > |3.4% {62ms} TextMorphEditor>>selectFrom:to: > | 2.8% {51ms} > TextMorphEditor(ParagraphEditor)>>selectInvisiblyFrom:to: > | 2.8% {51ms} > TextMorphEditor(ParagraphEditor)>>computeIntervalFrom:to: > 45.0% {824ms} PluggableTextMorph>>appendEntry > 39.7% {727ms} PluggableTextMorph>>replaceSelectionWith: > |39.7% {727ms} > TextMorphEditor(ParagraphEditor)>>replaceSelectionWith: > | 39.5% {723ms} TextMorphEditor>>zapSelectionWith: > | 27.7% {507ms} > MultiNewParagraph(NewParagraph)>>replaceFrom:to:with:displaying: > | |27.0% {494ms} > MultiNewParagraph(NewParagraph)>>recomposeFrom:to:delta: > | | 12.3% {225ms} > MultiNewParagraph > (NewParagraph)>>composeLinesFrom:to:delta:into:priorLines:atY: > | | |12.3% {225ms} > TextComposer>>composeLinesFrom:to:del...ner:wantsColumnBreaks: > | | | 8.1% {148ms} > OrderedCollection(SequenceableCollection)>>asArray > | | | |8.1% {148ms} Array > class(ArrayedCollection class)>>withAll: > | | | | 8.1% {148ms} > Array(SequenceableCollection)>>replaceFrom:to:with: > | | | | 8.0% {146ms} > Array>>replaceFrom:to:with:startingAt: > | | | | 8.0% {146ms} > Array(SequenceableCollection)>>replaceFrom:to:with:startingAt: > | | | | 4.0% {73ms} > OrderedCollection>>at: > | | | | 4.0% {73ms} primitives > | | | 4.2% {77ms} TextComposer>>composeAllLines > | | | 4.1% {75ms} TextComposer>>composeOneLine > | | | 3.8% {70ms} > TextComposer>>composeAllRectangles: > | | | 3.4% {62ms} > TextComposer>>composeEachRectangleIn: > | | | 3.2% {59ms} > CompositionScanner>>composeFrom:inRectan...leftSide:rightSide: > | | 9.1% {167ms} OrderedCollection>>addLast: > | | |6.1% {112ms} primitives > | | |3.0% {55ms} OrderedCollection>>makeRoomAtLast > | | 5.5% {101ms} primitives > | 8.6% {157ms} TextMorphEditor>>addEditCommand: > | |8.6% {157ms} > TextMorphCommandHistory>>rememberCommand: > | | 8.5% {156ms} > TextMorphCommandHistory>>removeUndoneCommands > | | 8.4% {154ms} OrderedCollection>>reversed > | | 4.4% {81ms} OrderedCollection>>addLast: > | | |4.0% {73ms} primitives > | | 3.9% {71ms} OrderedCollection>>reverseDo: > | 2.3% {42ms} > TextMorphEditor(ParagraphEditor)>>computeIntervalFrom:to: > 5.2% {95ms} PluggableTextMorph>>selectInvisiblyFrom:to: > 5.2% {95ms} > TextMorphEditor(ParagraphEditor)>>selectInvisiblyFrom:to: > 5.2% {95ms} > TextMorphEditor(ParagraphEditor)>>computeIntervalFrom:to: > 2.6% {48ms} TextMorphEditor(ParagraphEditor)>>setMark: > |2.5% {46ms} > MultiNewParagraph(NewParagraph)>>characterBlockForIndex: > | 2.2% {40ms} > CharacterBlockScanner>>characterBlockAtPoint:index:in: > 2.5% {46ms} TextMorphEditor(ParagraphEditor)>>setPoint: > 2.4% {44ms} > MultiNewParagraph(NewParagraph)>>characterBlockForIndex: > 2.1% {38ms} > CharacterBlockScanner>>characterBlockAtPoint:index:in: > **Leaves** > 10.1% {185ms} OrderedCollection>>addLast: > 5.5% {101ms} MultiNewParagraph(NewParagraph)>>recomposeFrom:to:delta: > 4.0% {73ms} OrderedCollection>>at: > 4.0% {73ms} > Array(SequenceableCollection)>>replaceFrom:to:with:startingAt: > 3.9% {71ms} OrderedCollection>>reverseDo: > 3.3% {60ms} SmallIdentityDictionary>>findIndexFor: > 3.1% {57ms} OrderedCollection>>makeRoomAtLast > 2.5% {46ms} Rectangle>>setOrigin:corner: > 2.2% {40ms} Rectangle class>>origin:corner: > > **Memory** > old +494,828 bytes > young +79,176 bytes > used +574,004 bytes > free -574,004 bytes > > **GCs** > full 0 totalling 0ms (0.0% uptime) > incr 627 totalling 95ms (5.0% uptime), avg 0.0ms > tenures 11 (avg 57 GCs/tenure) > root table 0 overflows > > > > > > > > > _______________________________________________ > Pharo-project mailing list > [email protected] > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project > -- Best regards, Igor Stasenko AKA sig. _______________________________________________ Pharo-project mailing list [email protected] http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
