transcript slowed down by closure rollback?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

transcript slowed down by closure rollback?

Stéphane Ducasse

When I compare

Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i  
printString ; cr]] in 10195 -> 2713 ms and

  Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i  
printString ; cr]] in 10296cl -> 5841


So may be we rolled back some changes I harvested from igor.
Igor do you remember?

Stef

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Igor Stasenko
2009/5/3 Stéphane Ducasse <[hidden email]>:

>
> When I compare
>
> Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
> printString ; cr]] in 10195 -> 2713 ms and
>
>  Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
> printString ; cr]] in 10296cl -> 5841
>
>
> So may be we rolled back some changes I harvested from igor.
> Igor do you remember?
>
I remember that you writing a thread-safe transcript.
But you didn't tell, if its already in Pharo, or still under development.

The only change which i did for Transcript is following:
http://bugs.squeak.org/view.php?id=7033

> Stef
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Stéphane Ducasse
Excellent this was the one I was looking for.

Stef

On May 3, 2009, at 9:08 PM, Igor Stasenko wrote:

> 2009/5/3 Stéphane Ducasse <[hidden email]>:
>>
>> When I compare
>>
>> Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
>> printString ; cr]] in 10195 -> 2713 ms and
>>
>>  Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
>> printString ; cr]] in 10296cl -> 5841
>>
>>
>> So may be we rolled back some changes I harvested from igor.
>> Igor do you remember?
>>
> I remember that you writing a thread-safe transcript.
> But you didn't tell, if its already in Pharo, or still under  
> development.
>
> The only change which i did for Transcript is following:
> http://bugs.squeak.org/view.php?id=7033
>
>> Stef
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Stéphane Ducasse
In reply to this post by Igor Stasenko
Still even with your speedup loaded I get 6534 ms in 10296cl :(

Stef



On May 3, 2009, at 9:08 PM, Igor Stasenko wrote:

> 2009/5/3 Stéphane Ducasse <[hidden email]>:
>>
>> When I compare
>>
>> Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
>> printString ; cr]] in 10195 -> 2713 ms and
>>
>>  Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
>> printString ; cr]] in 10296cl -> 5841
>>
>>
>> So may be we rolled back some changes I harvested from igor.
>> Igor do you remember?
>>
> I remember that you writing a thread-safe transcript.
> But you didn't tell, if its already in Pharo, or still under  
> development.
>
> The only change which i did for Transcript is following:
> http://bugs.squeak.org/view.php?id=7033
>
>> Stef
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>


_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Nicolas Cellier
In reply to this post by Stéphane Ducasse
Using MessageTally spyOn:, you can see most time is spent in
TextMorphCommandHistory.
I'm not convinced how usefull a complete undo history can be in the
Transcript...

Nicolas

2009/5/3 Stéphane Ducasse <[hidden email]>:

>
> When I compare
>
> Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
> printString ; cr]] in 10195 -> 2713 ms and
>
>  Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
> printString ; cr]] in 10296cl -> 5841
>
>
> So may be we rolled back some changes I harvested from igor.
> Igor do you remember?
>
> Stef
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Igor Stasenko
In reply to this post by Stéphane Ducasse
2009/5/3 Stéphane Ducasse <[hidden email]>:
> Still even with your speedup loaded I get 6534 ms in 10296cl :(
>
Is transcript using the old TextMorph, or its using a Shout text morph.
It can be possible that its using a different route for updating a
window contents, so given fix simply doesn't affects it.

Try debug Transcript show:, and see if its trying to update the morph
immediately. My change were for TextMorph to not update contents
immediately but rather on regular World update cycle.

> Stef
>
>
>
> On May 3, 2009, at 9:08 PM, Igor Stasenko wrote:
>
>> 2009/5/3 Stéphane Ducasse <[hidden email]>:
>>>
>>> When I compare
>>>
>>> Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
>>> printString ; cr]] in 10195 -> 2713 ms and
>>>
>>>  Time millisecondsToRun: [1 to: 1000 do: [:i | Transcript show: i
>>> printString ; cr]] in 10296cl -> 5841
>>>
>>>
>>> So may be we rolled back some changes I harvested from igor.
>>> Igor do you remember?
>>>
>> I remember that you writing a thread-safe transcript.
>> But you didn't tell, if its already in Pharo, or still under
>> development.
>>
>> The only change which i did for Transcript is following:
>> http://bugs.squeak.org/view.php?id=7033
>>
>>> Stef
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> [hidden email]
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>>
>>
>> --
>> Best regards,
>> Igor Stasenko AKA sig.
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
> _______________________________________________
> Pharo-project mailing list
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Stéphane Ducasse

On May 3, 2009, at 9:18 PM, Igor Stasenko wrote:

> 2009/5/3 Stéphane Ducasse <[hidden email]>:
>> Still even with your speedup loaded I get 6534 ms in 10296cl :(
>>
> Is transcript using the old TextMorph, or its using a Shout text  
> morph.
> It can be possible that its using a different route for updating a
> window contents, so given fix simply doesn't affects it.
>
> Try debug Transcript show:, and see if its trying to update the morph
> immediately. My change were for TextMorph to not update contents
> immediately but rather on regular World update cycle.

Yes I saw that. But apparently the fix or its spirit) was already in:
there is no refreshWorld anymore

Stef
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Stéphane Ducasse
In reply to this post by Nicolas Cellier
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

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
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Igor Stasenko
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 <[hidden email]>:

> 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
> [hidden email]
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>



--
Best regards,
Igor Stasenko AKA sig.
_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
Reply | Threaded
Open this post in threaded view
|

Re: transcript slowed down by closure rollback?

Igor Stasenko
2009/5/4 Igor Stasenko <[hidden email]>:
> MessageTally is bad advisor in this issue, because it runs additional
> process which watching the other one.
> So, you may
>
oops.. forgot to finish this phrase. I verified my claims, and it
seems that for this issue this is not the case :)

> 2009/5/3 Stéphane Ducasse <[hidden email]>:
>> 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
>> [hidden email]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
>
>
> --
> Best regards,
> Igor Stasenko AKA sig.
>



--
Best regards,
Igor Stasenko AKA sig.

_______________________________________________
Pharo-project mailing list
[hidden email]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project