[squeak-dev] Re: browsing method speed
Vaidotas Didžbalis
vaidasd at gmail.com
Sun Jan 20 18:20:48 UTC 2013
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.
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
|