Do I understand correctly that 36% of the time here is spend updating the progress bar?
Reading a JHotDraw7 mse.
| model stream |
stream := UITheme builder
fileOpen: 'Import model from MSE file'
extensions: #('mse').
stream isNil ifFalse: [
"name without extension"
MessageTally spyOn: [
model := MooseModel new.
model importFromMSEStream: stream.
stream close ].
model size > 0 ifTrue: [
model install.
]]
**Tree**
--------------------------------
Process: (40s) Morphic UI process: nil
--------------------------------
83.1% {26938ms} MooseModel class>>importFrom:
83.1% {26938ms} MooseModel class>>importFrom:withMetamodel:
83.1% {26932ms} MSEImporter(FMImporter)>>run
83.0% {26901ms} FMMSEParser>>run
83.0% {26897ms} FMMSEParser>>basicRun
83.0% {26897ms} FMMSEParser>>Document
82.1% {26615ms} FMMSEParser>>Element
38.4% {12451ms} FMMSEParser>>Attribute
|19.9% {6449ms} MSEImporter(FMImporter)>>endAttribute:
| |19.8% {6428ms} FMFutureElement>>endAttribute:
| | 19.8% {6409ms} FMFutureAttribute>>endAttribute:
| | 17.8% {5780ms} FMFutureAttribute>>maybeEnd
| | |11.1% {3590ms}
FM3MetaDescription>>attributeNamed:ifAbsent:
| | | |7.0% {2271ms}
FM3MetaDescription>>attributeNamed:ifAbsent:
| | | | |3.3% {1072ms}
FM3MetaDescription>>attributeNamed:ifAbsent:
| | | | | |2.5% {799ms}
FM3MetaDescription>>attributeNamed:ifAbsent:
| | | | |1.7% {537ms} ByteString(String)>>=
| | | | | |1.6% {509ms} primitives
| | | | |1.6% {508ms}
FMMultivalueLink(Collection)>>detect:ifNone:
| | | | | 1.5% {480ms} FMMultivalueLink>>do:
| | | | | 1.4% {467ms} OrderedCollection>>do:
| | | |1.9% {610ms}
FMMultivalueLink(Collection)>>detect:ifNone:
| | | | |1.6% {508ms} FMMultivalueLink>>do:
| | | | | 1.4% {459ms} OrderedCollection>>do:
| | | |1.5% {478ms} ByteString(String)>>=
| | | | 1.4% {469ms} primitives
| | |5.9% {1912ms} FM3PropertyDescription>>setOn:values:
| | | 5.2% {1692ms}
FAMIXParameterType(Object)>>mmSetProperty:to:
| | | 5.1% {1653ms}
FM3PropertyDescription>>setOn:rawValue:
| | | 1.6% {526ms} ByteSymbol(Symbol)>>asMutator
| | | 1.5% {491ms} ByteString(String)>>asSymbol
| | | 1.2% {379ms} Symbol class>>intern:
| | | 1.2% {379ms} Symbol class>>lookup:
| | | 1.2% {377ms} WeakSet>>like:
| | | 1.2% {373ms} WeakSet>>scanFor:
| | 1.8% {575ms} PhexMatcher>>=
|8.8% {2844ms} FMMSEParser>>Value
| |4.2% {1365ms} FMMSEParser>>Primitive
| | |3.1% {1017ms} FMMSEParser>>Number
| |3.5% {1138ms} FMMSEParser>>Reference
| | 1.8% {583ms} FMMSEParser>>Identifier
|4.5% {1463ms} FMMSEParser>>tNAME
| |1.9% {610ms} Character>>isAlphaNumeric
| | |1.5% {479ms} Character>>isLetter
| |1.0% {340ms} FMMSEParser>>next
|2.9% {948ms} MSEImporter(FMImporter)>>beginAttribute:
| 2.8% {898ms} FMFutureElement>>beginAttribute:
| 2.1% {674ms} PhexMatcher>>beTrue
| 2.0% {663ms} PhexMatcher>>true
| 1.7% {541ms} PhexMatcher>>expectedUnknownMessageToReturn:
36.5% {11837ms} FMMSEParser>>increment
|36.5% {11837ms} Job>>value:
| 36.5% {11819ms} Job>>currentValue:
| 36.5% {11819ms} Job>>announceChange
| 36.5% {11814ms} Job>>announce:
| 36.4% {11789ms} SystemAnnouncer>>announce:
| 36.4% {11789ms} SystemAnnouncer(Announcer)>>announce:
| 36.3% {11775ms} SubscriptionRegistry>>deliver:
| 22.1% {7148ms}
SubscriptionRegistry>>subscriptionsHandling:
| |10.3% {3326ms}
WeakAnnouncementSubscription>>handles:
| | |8.7% {2823ms} MethodRemoved class(Announcement
class)>>handles:
| | | |8.4% {2707ms} JobChange
class(Behavior)>>inheritsFrom:
| | |1.6% {503ms} primitives
| |5.3% {1714ms} primitives
| |4.8% {1558ms} IdentitySet(Set)>>do:
| |1.3% {420ms} AnnouncementSubscription>>handles:
| | 1.1% {349ms} AnnouncementSet>>handles:
| 13.7% {4450ms} SubscriptionRegistry>>deliver:to:
| 13.6% {4403ms}
SubscriptionRegistry>>deliver:to:startingAt:
| 13.5% {4364ms}
AnnouncementSubscription>>deliver:
| 13.4% {4335ms} MessageSend>>cull:cull:
| 12.8% {4132ms} MessageSend>>cull:
| 12.4% {4032ms} MessageSend>>value:
| 12.4% {4030ms}
MessageSend>>valueWithArguments:
| 12.0% {3902ms} SystemProgressMorph
class>>updateJob:
| 8.5% {2754ms}
JobProgressMorph>>progress:
| |7.2% {2333ms}
JobProgressBarMorph>>progress:
| | 7.0% {2253ms}
ProgressBarMorph>>value:
| | 7.0% {2253ms}
ProgressBarMorph(Morph)>>changed
| | 6.9% {2251ms}
ProgressBarMorph(Morph)>>invalidRect:
| | 6.9% {2251ms}
ProgressBarMorph(Morph)>>invalidRect:from:
| | 6.9% {2246ms}
JobProgressBarMorph(Morph)>>invalidRect:from:
| | 6.9% {2222ms}
JobProgressMorph(Morph)>>invalidRect:from:
| | 6.8% {2214ms}
SystemProgressMorph(Morph)>>invalidRect:from:
| | 6.8% {2210ms}
PasteUpMorph>>invalidRect:from:
| | 6.3% {2025ms}
Rectangle>>intersect:ifNone:
| | 3.3% {1081ms}
Rectangle>>intersects:
| | |1.9% {620ms}
SmallInteger>><=
| | | |1.7% {552ms}
SmallInteger(Integer)>><=
| | | | 1.7% {552ms}
Float>>adaptToInteger:andCompare:
| | | | 1.7%
{538ms} Float>>asTrueFraction
| | |1.4% {450ms}
SmallInteger>>>=
| | | 1.1% {359ms}
SmallInteger(Integer)>>>=
| | | 1.1% {359ms}
Float>>adaptToInteger:andCompare:
| | | 1.1%
{348ms} Float>>asTrueFraction
| | 1.5% {471ms}
SmallInteger>>>
| | |1.2% {390ms}
SmallInteger(Integer)>>>
| | | 1.2% {390ms}
Float>>adaptToInteger:andCompare:
| | | 1.2% {388ms}
Float>>asTrueFraction
| | 1.2% {393ms}
SmallInteger>><
| | 1.0% {327ms}
SmallInteger(Integer)>><
| | 1.0% {325ms}
Float>>adaptToInteger:andCompare:
| 3.0% {961ms}
JobProgressMorph>>label:
| 2.8% {914ms}
JobProgressMorph(Object)>>changed:
| 2.5% {811ms}
SystemProgressMorph>>update:
| 2.1% {677ms}
SystemProgressMorph>>updateWidth
| 2.1% {677ms}
SystemProgressMorph>>resize
| 1.7% {562ms}
SystemProgressMorph>>maxBarWidth
| 1.4% {458ms}
JobProgressMorph(Morph)>>minExtent
2.7% {891ms} MSEImporter(FMImporter)>>beginElement:
|2.6% {836ms} FMFutureElement class>>with:name:
| 2.6% {829ms} FMFutureElement>>with:name:
| 2.1% {668ms} FM3MetaDescription>>createInstance
| 2.0% {638ms} FAMIXNamespace class(Behavior)>>new
2.4% {775ms} FMMSEParser>>tFULLNAME
|1.3% {408ms} Character>>isAlphaNumeric
| 1.0% {335ms} Character>>isLetter
1.1% {349ms} FMMSEParser>>Serial
**Leaves**
8.9% {2897ms} JobChange class(Behavior)>>inheritsFrom:
5.3% {1714ms} SubscriptionRegistry>>subscriptionsHandling:
5.1% {1649ms} IdentitySet(Set)>>do:
4.6% {1476ms} ByteString(String)>>=
4.4% {1423ms} OrderedCollection>>do:
2.2% {700ms} Array(SequenceableCollection)>>at:ifAbsent:
2.0% {637ms} FMMSEParser>>tOPEN
1.8% {598ms} SmallInteger(Number)>>negative
1.8% {582ms} UndefinedObject(ProtoObject)>>~~
1.8% {582ms} FAMIXParameterizedType(Object)>>=
1.6% {522ms} SmallInteger>>bitShift:
1.6% {503ms} WeakAnnouncementSubscription>>handles:
1.2% {395ms} MultiByteFileStream(StandardFileStream)>>basicNext
1.2% {388ms} WriteStream>>nextPut:
1.1% {372ms} FMMSEParser>>tWHITESPACE
1.0% {339ms} WriteStream>>reset
1.0% {336ms} Unicode class>>isLetter:
**Memory**
old +39,936,212 bytes
young -1,252,716 bytes
used +38,683,496 bytes
free +1,684,040 bytes
**GCs**
full 2 totalling 1,398ms (4.0% uptime), avg 699.0ms
incr 1844 totalling 3,883ms (12.0% uptime), avg 2.0ms
tenures 737 (avg 2 GCs/tenure)
root table 0 overflows