[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