[squeak-dev] Re: browsing method speed
Frank Shearar
frank.shearar at gmail.com
Sun Jan 20 18:23:25 UTC 2013
On 20 January 2013 18:20, Vaidotas Didžbalis <vaidasd at gmail.com> wrote:
> Hello,
> Sorry regarding previous email, accidentally hit Send.
> Just wanted to report that changing focus while browsing implementers,
> degraded a lot through releases. Checked 3.6 (instant), 3.8.1 (
> slower, but ok, it was first release with unicode support AFAIK), 4.1
> is so-so and 4.4 it takes ~1sec to look implementer on Cog.
Ah, I was about to ask if you had any numbers :)
I tried hopping between methods, and couldn't really see any
difference in speed between 4.3 and 4.4.
What I _did_ find was that choosing a method by clicking on it was
noticeably slower ( than choosing a new method by using the up or down
arrows, which is quite interesting.
frank
> On 4.4, Cog selected profiled gives:
>
> - 21614 tallies, 21630 msec.
>
> **Tree**
> --------------------------------
> Process: other processes
> --------------------------------
> 35.5% {7689ms} ProcessorScheduler class>>idleProcess
> 11.6% {2513ms} EventSensor>>eventTickler
> 11.6% {2512ms} Delay>>wait
> --------------------------------
> Process: (40s) 49125: nil
> --------------------------------
> 52.6% {11381ms} WorldState>>doOneCycleFor:
> 50.0% {10815ms} WorldState>>doOneCycleNowFor:
> |48.4% {10469ms} HandMorph>>processEvents
> | |48.4% {10467ms} HandMorph>>handleEvent:
> | | 48.3% {10454ms} HandMorph>>sendKeyboardEvent:
> | | 48.3% {10454ms} HandMorph>>sendEvent:focus:clear:
> | | 48.3% {10454ms} HandMorph>>sendFocusEvent:to:clear:
> | | 48.3% {10454ms} PluggableListMorphPlus(Morph)>>handleFocusEvent:
> | | 48.3% {10454ms} PluggableListMorphPlus(Morph)>>handleEvent:
> | | 48.3% {10454ms} KeyboardEvent>>sentTo:
> | | 48.3% {10454ms}
> PluggableListMorphPlus(Morph)>>handleKeystroke:
> | | 48.3% {10454ms}
> PluggableListMorphPlus(PluggableListMorph)>>keyStroke:
> | | 48.3% {10454ms}
> PluggableListMorphPlus(PluggableListMorph)>>specialKeyPressed:
> | | 48.3% {10454ms}
> PluggableListMorphPlus(PluggableListMorph)>>changeModelSelection:
> | | 48.3% {10454ms} MessageSet>>messageListIndex:
> | | 29.9% {6474ms}
> MessageSet(CodeHolder)>>contentsChanged
> | | |18.5% {4001ms}
> MessageSet(Object)>>contentsChanged
> | | | |18.5% {4001ms}
> MessageSet(Object)>>changed:
> | | | | 18.5% {3997ms}
> PluggableTextMorphPlus>>update:
> | | | | 18.5% {3997ms}
> PluggableTextMorphPlus(PluggableTextMorph)>>update:
> | | | | 18.4% {3977ms}
> PluggableTextMorphPlus(PluggableTextMorph)>>getText
> | | | | 18.4% {3977ms}
> MessageSet>>contents
> | | | | 18.4% {3977ms}
> MessageSet(CodeHolder)>>editContents
> | | | | 18.4% {3977ms}
> MessageSet>>selectedMessage
> | | | | 9.6% {2087ms}
> ActionSequence class(Behavior)>>sourceMethodAt:ifAbsent:
> | | | | |9.6% {2087ms}
> ActionSequence class(Behavior)>>sourceCodeAt:ifAbsent:
> | | | | | 9.6% {2087ms}
> CompiledMethod>>getSourceFor:in:
> | | | | | 9.6%
> {2087ms} CompiledMethod>>getSourceFromFileAt:
> | | | | | 9.6%
> {2087ms} RemoteString>>text
> | | | | | 9.6%
> {2087ms} CurrentReadOnlySourceFiles class>>at:
> | | | | | 9.6%
> {2087ms} CurrentReadOnlySourceFiles class(Exception class)>>signal
> | | | | |
> 9.6% {2087ms} CurrentReadOnlySourceFiles(Exception)>>signal
> | | | | |
> 9.6% {2087ms} MethodContext(ContextPart)>>handleSignal:
> | | | | |
> 9.6% {2086ms} MethodContext(ContextPart)>>handleSignal:
> | | | | |
> 9.6% {2086ms} MethodContext(ContextPart)>>handleSignal:
> | | | | |
> 9.6% {2086ms} UndefinedObject>>handleSignal:
> | | | | |
> 9.6% {2086ms} CurrentReadOnlySourceFiles>>defaultAction
> | | | | |
> 9.6% {2086ms}
> MultiByteFileStream(StandardFileStream)>>readOnlyCopy
> | | | | |
> 9.6% {2086ms} MultiByteFileStream class(StandardFileStream
> class)>>readOnlyFileNamed:
> | | | | |
> 9.6% {2086ms} MultiByteFileStream>>open:forWrite:
> | | | | |
> 9.6% {2086ms}
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
> | | | | |
> 9.6% {2084ms} primitives
> | | | | 8.7% {1889ms}
> MessageSet(CodeHolder)>>sourceStringPrettifiedAndDiffed
> | | | | 8.7% {1887ms}
> ActionSequence class(Behavior)>>ultimateSourceCodeAt:ifAbsent:
> | | | | 8.7% {1887ms}
> ActionSequence class(Behavior)>>sourceCodeAt:ifAbsent:
> | | | | 8.7%
> {1887ms} CompiledMethod>>getSourceFor:in:
> | | | | 8.7%
> {1887ms} CompiledMethod>>getSourceFromFileAt:
> | | | | 8.7%
> {1887ms} RemoteString>>text
> | | | | 8.7%
> {1886ms} CurrentReadOnlySourceFiles class>>at:
> | | | | 8.7%
> {1886ms} CurrentReadOnlySourceFiles class(Exception class)>>signal
> | | | |
> 8.7% {1886ms} CurrentReadOnlySourceFiles(Exception)>>signal
> | | | |
> 8.7% {1886ms} MethodContext(ContextPart)>>handleSignal:
> | | | |
> 8.7% {1886ms} MethodContext(ContextPart)>>handleSignal:
> | | | |
> 8.7% {1886ms} MethodContext(ContextPart)>>handleSignal:
> | | | |
> 8.7% {1886ms} UndefinedObject>>handleSignal:
> | | | |
> 8.7% {1886ms} CurrentReadOnlySourceFiles>>defaultAction
> | | | |
> 8.7% {1886ms}
> MultiByteFileStream(StandardFileStream)>>readOnlyCopy
> | | | |
> 8.7% {1886ms} MultiByteFileStream class(StandardFileStream
> class)>>readOnlyFileNamed:
> | | | |
> 8.7% {1886ms} MultiByteFileStream>>open:forWrite:
> | | | |
> 8.7% {1885ms}
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
> | | |11.4% {2473ms} MessageSet(Object)>>changed:
> | | | 11.4% {2470ms}
> PluggableTextMorphPlus>>update:
> | | | 11.4% {2470ms}
> PluggableTextMorphPlus(PluggableTextMorph)>>update:
> | | | 11.4% {2457ms}
> PluggableTextMorphPlus(PluggableTextMorph)>>getText
> | | | 11.4% {2457ms}
> MessageSet(CodeHolder)>>annotation
> | | | 11.4% {2456ms}
> MessageSet(CodeHolder)>>annotationForSelector:ofClass:
> | | | 10.6% {2301ms}
> MessageSet(StringHolder)>>timeStamp
> | | | 10.6% {2301ms}
> Utilities class>>timeStampForMethod:
> | | | 10.6% {2301ms}
> CompiledMethod>>timeStamp
> | | | 10.6% {2297ms}
> CompiledMethod>>preamble
> | | | 10.6% {2296ms}
> CurrentReadOnlySourceFiles class>>at:
> | | | 10.6%
> {2296ms} CurrentReadOnlySourceFiles class(Exception class)>>signal
> | | | 10.6%
> {2296ms} CurrentReadOnlySourceFiles(Exception)>>signal
> | | | 10.6%
> {2296ms} MethodContext(ContextPart)>>handleSignal:
> | | | 10.6%
> {2296ms} MethodContext(ContextPart)>>handleSignal:
> | | | 10.6%
> {2296ms} UndefinedObject>>handleSignal:
> | | |
> 10.6% {2296ms} CurrentReadOnlySourceFiles>>defaultAction
> | | |
> 10.6% {2296ms} MultiByteFileStream(StandardFileStream)>>readOnlyCopy
> | | |
> 10.6% {2296ms} MultiByteFileStream class(StandardFileStream
> class)>>readOnlyFileNamed:
> | | |
> 10.6% {2296ms} MultiByteFileStream>>open:forWrite:
> | | |
> 10.6% {2296ms}
> MultiByteFileStream(StandardFileStream)>>open:forWrite:
> | | |
> 10.6% {2295ms} primitives
> | | 18.4% {3970ms} MessageSet>>selectedMessage
> | | 10.1% {2195ms} ActionSequence
> class(Behavior)>>sourceMethodAt:ifAbsent:
> | | |10.1% {2193ms} ActionSequence
> class(Behavior)>>sourceCodeAt:ifAbsent:
> | | | 10.1% {2193ms}
> CompiledMethod>>getSourceFor:in:
> | | | 10.1% {2193ms}
> CompiledMethod>>getSourceFromFileAt:
> | | | 10.1% {2193ms} RemoteString>>text
> | | | 9.5% {2057ms}
> CurrentReadOnlySourceFiles class>>at:
> | | | 9.5% {2056ms}
> CurrentReadOnlySourceFiles class(Exception class)>>signal
> | | | 9.5% {2056ms}
> CurrentReadOnlySourceFiles(Exception)>>signal
> | | | 9.5% {2056ms}
> MethodContext(ContextPart)>>handleSignal:
> | | | 9.5% {2056ms}
> MethodContext(ContextPart)>>handleSignal:
> | | | 9.5% {2056ms}
> MethodContext(ContextPart)>>handleSignal:
> | | | 9.5% {2056ms}
> UndefinedObject>>handleSignal:
> | | | 9.5%
> {2056ms} CurrentReadOnlySourceFiles>>defaultAction
> | | | 9.5%
> {2056ms} MultiByteFileStream(StandardFileStream)>>readOnlyCopy
> | | | 9.5%
> {2056ms} MultiByteFileStream class(StandardFileStream
> class)>>readOnlyFileNamed:
> | | | 9.5%
> {2056ms} MultiByteFileStream>>open:forWrite:
> | | |
> 9.5% {2056ms} MultiByteFileStream(StandardFileStream)>>open:forWrite:
> | | 8.2% {1774ms}
> MessageSet(CodeHolder)>>sourceStringPrettifiedAndDiffed
> | | 8.2% {1773ms} ActionSequence
> class(Behavior)>>ultimateSourceCodeAt:ifAbsent:
> | | 8.2% {1773ms} ActionSequence
> class(Behavior)>>sourceCodeAt:ifAbsent:
> | | 8.2% {1773ms}
> CompiledMethod>>getSourceFor:in:
> | | 8.2% {1772ms}
> CompiledMethod>>getSourceFromFileAt:
> | | 8.2% {1772ms} RemoteString>>text
> | | 8.2% {1771ms}
> CurrentReadOnlySourceFiles class>>at:
> | | 8.2% {1771ms}
> CurrentReadOnlySourceFiles class(Exception class)>>signal
> | | 8.2% {1771ms}
> CurrentReadOnlySourceFiles(Exception)>>signal
> | | 8.2% {1771ms}
> MethodContext(ContextPart)>>handleSignal:
> | | 8.2% {1771ms}
> MethodContext(ContextPart)>>handleSignal:
> | | 8.2% {1771ms}
> MethodContext(ContextPart)>>handleSignal:
> | | 8.2%
> {1771ms} UndefinedObject>>handleSignal:
> | | 8.2%
> {1771ms} CurrentReadOnlySourceFiles>>defaultAction
> | | 8.2%
> {1771ms} MultiByteFileStream(StandardFileStream)>>readOnlyCopy
> | | 8.2%
> {1771ms} MultiByteFileStream class(StandardFileStream
> class)>>readOnlyFileNamed:
> | | 8.2%
> {1771ms} MultiByteFileStream>>open:forWrite:
> | |
> 8.2% {1771ms} MultiByteFileStream(StandardFileStream)>>open:forWrite:
> | |
> 8.2% {1770ms} primitives
> |1.6% {343ms} WorldState>>displayWorldSafely:
> | 1.6% {343ms} PasteUpMorph>>displayWorld
> | 1.6% {343ms} PasteUpMorph>>privateOuterDisplayWorld
> | 1.6% {343ms} WorldState>>displayWorld:submorphs:
> | 1.5% {315ms} WorldState>>drawWorld:submorphs:invalidAreasOn:
> | 1.4% {295ms} FormCanvas(Canvas)>>fullDrawMorph:
> | 1.4% {295ms} FormCanvas(Canvas)>>fullDraw:
> | 1.4% {295ms} DockingBarMorph(Morph)>>fullDrawOn:
> 2.6% {566ms} WorldState>>interCyclePause:
> 2.6% {566ms} Delay>>wait
> 2.6% {565ms} primitives
>
> **Leaves**
> 46.6% {10089ms} MultiByteFileStream(StandardFileStream)>>open:forWrite:
> 35.6% {7693ms} ProcessorScheduler class>>idleProcess
> 14.2% {3077ms} Delay>>wait
>
> **Memory**
> old +84,176 bytes
> young -1,132,448 bytes
> used -1,048,272 bytes
> free +1,048,272 bytes
>
> **GCs**
> full 0 totalling 0 ms (0% uptime)
> incr 28 totalling 44 ms (0.2% uptime), avg 1.6 ms
> tenures 1 (avg 28 GCs/tenure)
> root table 0 overflows
>
> Vaidotas.
>
More information about the Squeak-dev
mailing list
|