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 _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
probably.
Can you try without and let us know stef On Aug 30, 2013, at 9:53 PM, Stephan Eggermont <[hidden email]> wrote: > 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 > > > _______________________________________________ > Moose-dev mailing list > [hidden email] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stephan Eggermont-3
Without the progress bar
FMMSEParser>increment "progBar ifNotNil: [progBar value: self pos]" 18 sec vs 32 sec with the progress bar. Stephan - 18299 tallies, 18304 msec. **Tree** -------------------------------- Process: (40s) Morphic UI process: nil -------------------------------- 71.1% {13018ms} MooseModel class>>importFrom: 71.1% {13018ms} MooseModel class>>importFrom:withMetamodel: 71.1% {13012ms} MSEImporter(FMImporter)>>run 71.1% {13006ms} FMMSEParser>>run 70.7% {12944ms} FMMSEParser>>basicRun 70.7% {12944ms} FMMSEParser>>Document 69.6% {12747ms} FMMSEParser>>Element |61.2% {11199ms} FMMSEParser>>Attribute | |30.6% {5605ms} MSEImporter(FMImporter)>>endAttribute: | | |30.5% {5586ms} FMFutureElement>>endAttribute: | | | 30.4% {5572ms} FMFutureAttribute>>endAttribute: | | | 27.5% {5040ms} FMFutureAttribute>>maybeEnd | | | |17.4% {3191ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | |11.0% {2014ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | |5.0% {910ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | | |3.8% {691ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | | | 1.4% {248ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | | | |1.3% {230ms} FMMultivalueLink>>do: | | | | | | | | 1.2% {218ms} OrderedCollection>>do: | | | | | | | 1.1% {194ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | |2.5% {459ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | | |2.3% {428ms} FMMultivalueLink>>do: | | | | | | | 2.3% {412ms} OrderedCollection>>do: | | | | | |2.2% {405ms} ByteString(String)>>= | | | | | | |2.2% {397ms} primitives | | | | | |1.1% {201ms} ByteSymbol(Symbol)>>asString | | | | |2.9% {535ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | |2.5% {455ms} FMMultivalueLink>>do: | | | | | | 2.3% {430ms} OrderedCollection>>do: | | | | |2.4% {446ms} ByteString(String)>>= | | | | | 2.3% {422ms} primitives | | | |8.9% {1621ms} FM3PropertyDescription>>setOn:values: | | | | 8.1% {1477ms} FAMIXParameterType(Object)>>mmSetProperty:to: | | | | 7.9% {1453ms} FM3PropertyDescription>>setOn:rawValue: | | | | 2.3% {423ms} ByteSymbol(Symbol)>>asMutator | | | | |2.2% {394ms} ByteString(String)>>asSymbol | | | | | 1.8% {328ms} Symbol class>>intern: | | | | | 1.8% {328ms} Symbol class>>lookup: | | | | | 1.8% {322ms} WeakSet>>like: | | | | | 1.7% {318ms} WeakSet>>scanFor: | | | | 1.5% {282ms} FAMIXMethod(FAMIXBehaviouralEntity)>>declaredType: | | | | 1.5% {278ms} FMMultivalueLink class>>on:update:from:to: | | | | 1.5% {278ms} FMMultivalueLink>>unsafeAdd: | | | | 1.5% {274ms} OrderedCollection(SequenceableCollection)>>includes: | | | | 1.5% {274ms} OrderedCollection(SequenceableCollection)>>indexOf: | | | | 1.5% {270ms} OrderedCollection(SequenceableCollection)>>indexOf:ifAbsent: | | | | 1.5% {270ms} OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent: | | | | 1.4% {252ms} FAMIXMethod(Object)>>= | | | 2.7% {493ms} PhexMatcher>>= | |14.7% {2684ms} FMMSEParser>>Value | | |7.3% {1330ms} FMMSEParser>>Primitive | | | |5.6% {1021ms} FMMSEParser>>Number | | | | |1.5% {268ms} Character>>isDigit | | | | |1.3% {230ms} WriteStream>>reset | | | | |1.2% {215ms} FMMSEParser>>backtrack: | | | |1.0% {186ms} FMMSEParser>>String | | |5.7% {1046ms} FMMSEParser>>Reference | | | 2.9% {524ms} FMMSEParser>>Identifier | |8.0% {1459ms} FMMSEParser>>tNAME | | |3.2% {579ms} Character>>isAlphaNumeric | | | |2.5% {449ms} Character>>isLetter | | | | 1.7% {312ms} Character>>characterSet | | | | 1.5% {267ms} EncodedCharSet class>>charsetAt: | | | | 1.4% {259ms} Array(SequenceableCollection)>>at:ifAbsent: | | | | 1.3% {237ms} primitives | | |1.7% {317ms} FMMSEParser>>next | | | 1.3% {237ms} MultiByteFileStream>>next | |4.0% {738ms} MSEImporter(FMImporter)>>beginAttribute: | | |3.9% {714ms} FMFutureElement>>beginAttribute: | | | 2.8% {515ms} PhexMatcher>>beTrue | | | 2.7% {494ms} PhexMatcher>>true | | | 2.2% {405ms} PhexMatcher>>expectedUnknownMessageToReturn: | | | 1.1% {195ms} Array(Collection)>>copyWithout: | | | 1.0% {187ms} Array(Collection)>>reject: | |1.4% {264ms} FMMSEParser>>tOPEN | | 1.1% {207ms} primitives |3.5% {637ms} MSEImporter(FMImporter)>>beginElement: | |3.3% {596ms} FMFutureElement class>>with:name: | | 3.2% {594ms} FMFutureElement>>with:name: | | 2.8% {519ms} FM3MetaDescription>>createInstance | | 2.6% {483ms} FAMIXNamespace class(Behavior)>>new |2.9% {532ms} FMMSEParser>>tFULLNAME | |1.3% {229ms} Character>>isAlphaNumeric |1.5% {268ms} FMMSEParser>>Serial 1.1% {196ms} MSEImporter>>endDocument 1.1% {196ms} FMRepository>>addAll: 1.0% {191ms} FMRepository>>add: 1.0% {189ms} IdentitySet(Set)>>add: **Leaves** 6.9% {1263ms} OrderedCollection>>do: 6.7% {1228ms} ByteString(String)>>= 3.8% {698ms} Array(SequenceableCollection)>>at:ifAbsent: 3.0% {556ms} FMMSEParser>>tOPEN 2.9% {528ms} FAMIXParameterizedType(Object)>>= 2.8% {513ms} UndefinedObject(ProtoObject)>>~~ 2.0% {365ms} MultiByteFileStream(StandardFileStream)>>basicNext 1.8% {331ms} WriteStream>>reset 1.8% {323ms} ByteString class(String class)>>new: 1.7% {316ms} WriteStream>>nextPut: 1.5% {278ms} FMMSEParser>>tWHITESPACE 1.4% {263ms} MultiByteFileStream>>next 1.2% {218ms} FMMSEParser>>next 1.0% {192ms} FMMultivalueLink(Collection)>>detect:ifNone: **Memory** old +23,650,644 bytes young -69,592 bytes used +23,581,052 bytes free +1,340,268 bytes **GCs** full 3 totalling 2,718ms (15.0% uptime), avg 906.0ms incr 1252 totalling 2,384ms (13.0% uptime), avg 2.0ms tenures 567 (avg 2 GCs/tenure) root table 0 overflows _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Indeed, I get a similar result on ArgoUML 0.34:
With progress bar: 102677ms Without progress bar: 76793ms About 25% speedup.
Let's try to build a little infrastructure for loading without a progress. FMMSEParser already supports basicRun. We should have a support at the level of the MooseModel for using it. @Stephan, Diego: Would you like to look into this? This should get in the 4.8 release. Doru _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
On Sun, Sep 1, 2013 at 8:04 AM, Tudor Girba <[hidden email]> wrote:
"Every thing has its own flow"
_______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
In reply to this post by Stephan Eggermont-3
Doru wrote:
>@Stephan, Diego: Would you like to look into this? This should get in the 4.8 release. New versions of Morphic & Kernel, and Fame-ImportExport Giving Job its own jobAnnouncer (and using that in SystemProgressMorph) helps a bit, but not enough. Job>>jobAnnouncer ^jobAnnouncer ifNil: [ jobAnnouncer := Announcer new ] Job>announce: anAnnouncementClass | announcement | announcement := anAnnouncementClass on: self. self announcer announce: announcement. Job>announcer ^Job jobAnnouncer SystemProgressMorph>>enable Job jobAnnouncer on: JobStart send: #startJob: to: self. Job jobAnnouncer on: JobEnd send: #endJob: to: self. Job jobAnnouncer on: JobChange send: #updateJob: to: self. SystemProgressMorph>>disable Job jobAnnouncer unsubscribe: self. - 25606 tallies, 25644 msec. **Tree** -------------------------------- Process: (40s) Morphic UI process: nil -------------------------------- 79.3% {20336ms} MooseModel class>>importFrom: 79.3% {20336ms} MooseModel class>>importFrom:withMetamodel: 79.3% {20328ms} MSEImporter(FMImporter)>>run 79.3% {20328ms} FMMSEParser>>run 79.2% {20322ms} FMMSEParser>>basicRun 79.2% {20322ms} FMMSEParser>>Document 78.2% {20066ms} FMMSEParser>>Element 50.0% {12834ms} FMMSEParser>>Attribute |24.3% {6239ms} MSEImporter(FMImporter)>>endAttribute: | |24.3% {6228ms} FMFutureElement>>endAttribute: | | 24.2% {6212ms} FMFutureAttribute>>endAttribute: | | 21.6% {5541ms} FMFutureAttribute>>maybeEnd | | |13.3% {3404ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | |8.1% {2078ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | |3.9% {1010ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | |2.8% {730ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | |1.8% {461ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | |1.7% {434ms} FMMultivalueLink>>do: | | | | | | 1.7% {430ms} OrderedCollection>>do: | | | | |1.5% {396ms} ByteString(String)>>= | | | | | 1.5% {390ms} primitives | | | |2.6% {661ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | |2.1% {549ms} FMMultivalueLink>>do: | | | | | 2.0% {508ms} OrderedCollection>>do: | | | |1.7% {438ms} ByteString(String)>>= | | | | 1.7% {430ms} primitives | | |7.1% {1819ms} FM3PropertyDescription>>setOn:values: | | | 6.4% {1629ms} FAMIXParameterType(Object)>>mmSetProperty:to: | | | 6.2% {1597ms} FM3PropertyDescription>>setOn:rawValue: | | | 2.0% {525ms} ByteSymbol(Symbol)>>asMutator | | | 1.9% {493ms} ByteString(String)>>asSymbol | | | 1.5% {387ms} Symbol class>>intern: | | | 1.5% {376ms} Symbol class>>lookup: | | | 1.4% {367ms} WeakSet>>like: | | | 1.4% {361ms} WeakSet>>scanFor: | | 2.4% {620ms} PhexMatcher>>= | | 1.1% {287ms} PhexMatcher>>expect:using: |12.2% {3127ms} FMMSEParser>>Value | |5.7% {1459ms} FMMSEParser>>Primitive | | |4.4% {1141ms} FMMSEParser>>Number | | | 1.2% {309ms} WriteStream>>reset | |4.9% {1259ms} FMMSEParser>>Reference | | 2.7% {705ms} FMMSEParser>>Identifier |5.8% {1490ms} FMMSEParser>>tNAME | |2.4% {608ms} Character>>isAlphaNumeric | | |1.9% {482ms} Character>>isLetter | | | 1.2% {305ms} Character>>characterSet | |1.3% {327ms} FMMSEParser>>next | | 1.1% {279ms} MultiByteFileStream>>next |4.6% {1168ms} MSEImporter(FMImporter)>>beginAttribute: | |4.4% {1124ms} FMFutureElement>>beginAttribute: | | 3.6% {912ms} PhexMatcher>>beTrue | | 3.4% {874ms} PhexMatcher>>true | | 3.0% {758ms} PhexMatcher>>expectedUnknownMessageToReturn: | | 1.7% {449ms} Array(Collection)>>copyWithout: | | |1.7% {437ms} Array(Collection)>>reject: | | 1.0% {261ms} PhexMatcher>>expect:describeShould:describeShouldNot: |1.1% {290ms} FMMSEParser>>tOPEN 20.4% {5239ms} FMMSEParser>>increment |20.4% {5239ms} Job>>value: | 20.4% {5231ms} Job>>currentValue: | 20.4% {5231ms} Job>>announceChange | 20.4% {5231ms} Job>>announce: | 20.4% {5221ms} Announcer>>announce: | 20.3% {5211ms} SubscriptionRegistry>>deliver: | 19.2% {4931ms} SubscriptionRegistry>>deliver:to: | 19.1% {4896ms} SubscriptionRegistry>>deliver:to:startingAt: | 19.0% {4878ms} AnnouncementSubscription>>deliver: | 18.7% {4794ms} MessageSend>>cull:cull: | 18.1% {4652ms} MessageSend>>cull: | 17.6% {4510ms} MessageSend>>value: | 17.6% {4510ms} MessageSend>>valueWithArguments: | 17.0% {4362ms} SystemProgressMorph class>>updateJob: | 11.8% {3035ms} JobProgressMorph>>progress: | |10.0% {2558ms} JobProgressBarMorph>>progress: | | 9.6% {2465ms} ProgressBarMorph>>value: | | 9.6% {2463ms} ProgressBarMorph(Morph)>>changed | | 9.6% {2452ms} ProgressBarMorph(Morph)>>invalidRect: | | 9.5% {2444ms} ProgressBarMorph(Morph)>>invalidRect:from: | | 9.5% {2440ms} JobProgressBarMorph(Morph)>>invalidRect:from: | | 9.4% {2418ms} JobProgressMorph(Morph)>>invalidRect:from: | | 9.4% {2406ms} SystemProgressMorph(Morph)>>invalidRect:from: | | 9.3% {2390ms} PasteUpMorph>>invalidRect:from: | | 8.5% {2167ms} Rectangle>>intersect:ifNone: | | 4.3% {1110ms} Rectangle>>intersects: | | |2.5% {633ms} SmallInteger>><= | | | |2.3% {580ms} SmallInteger(Integer)>><= | | | | 2.2% {573ms} Float>>adaptToInteger:andCompare: | | | | 2.1% {548ms} Float>>asTrueFraction | | | | 1.1% {275ms} SmallInteger>>bitShift: | | |1.8% {473ms} SmallInteger>>>= | | | 1.6% {403ms} SmallInteger(Integer)>>>= | | | 1.6% {401ms} Float>>adaptToInteger:andCompare: | | | 1.6% {399ms} Float>>asTrueFraction | | 2.1% {537ms} SmallInteger>>> | | |1.8% {458ms} SmallInteger(Integer)>>> | | | 1.8% {454ms} Float>>adaptToInteger:andCompare: | | | 1.7% {426ms} Float>>asTrueFraction | | 1.7% {427ms} SmallInteger>>< | | 1.4% {348ms} SmallInteger(Integer)>>< | | 1.4% {348ms} Float>>adaptToInteger:andCompare: | | 1.3% {340ms} Float>>asTrueFraction | 4.4% {1140ms} JobProgressMorph>>label: | 4.3% {1106ms} JobProgressMorph(Object)>>changed: | 3.8% {982ms} SystemProgressMorph>>update: | 3.4% {868ms} SystemProgressMorph>>updateWidth | 3.4% {860ms} SystemProgressMorph>>resize | 2.9% {749ms} SystemProgressMorph>>maxBarWidth | 2.7% {684ms} JobProgressMorph(Morph)>>minExtent | 1.4% {355ms} JobProgressMorph(Morph)>>layoutBounds | 1.2% {297ms} JobProgressMorph(Morph)>>innerBounds 3.1% {800ms} MSEImporter(FMImporter)>>beginElement: |3.0% {760ms} FMFutureElement class>>with:name: | 2.9% {756ms} FMFutureElement>>with:name: | 2.4% {615ms} FM3MetaDescription>>createInstance | 2.2% {576ms} FAMIXPackage class(Behavior)>>new 2.4% {620ms} FMMSEParser>>tFULLNAME 1.3% {324ms} FMMSEParser>>Serial **Leaves** 5.7% {1458ms} OrderedCollection>>do: 5.2% {1332ms} ByteString(String)>>= 2.8% {709ms} FMMSEParser>>tOPEN 2.7% {682ms} SmallInteger(Number)>>negative 2.6% {673ms} Array(SequenceableCollection)>>at:ifAbsent: 2.4% {624ms} False(ProtoObject)>>~~ 2.2% {561ms} SmallInteger>>bitShift: 2.1% {549ms} FAMIXClass(Object)>>= 1.7% {424ms} MultiByteFileStream(StandardFileStream)>>basicNext 1.6% {405ms} WriteStream>>reset 1.4% {349ms} FMMSEParser>>tWHITESPACE 1.2% {319ms} WriteStream>>nextPut: 1.2% {307ms} MultiByteFileStream>>next 1.1% {278ms} ByteString class(String class)>>new: 1.0% {265ms} LargePositiveInteger(Integer)>>lowBit **Memory** old +42,243,932 bytes young -642,456 bytes used +41,601,476 bytes free +1,138,424 bytes **GCs** full 2 totalling 1,491ms (6.0% uptime), avg 746.0ms incr 1693 totalling 3,551ms (14.0% uptime), avg 2.0ms tenures 734 (avg 2 GCs/tenure) root table 0 overflows FMMEParser>increment is called 105538 times. Changing the parser to only update every 100 increments brings the overhead to 1.7 % FMMSEParser>increment progBar ifNotNil: [ (increments % 100) = 0 ifTrue: [progBar value: self pos]. increments := increments+1] FMMSEParser>run increments := 0. UIManager default displayProgress: 'Parsing ', self stream localName at: Sensor cursorPoint from: 1 to: self stream size during: [ :bar | progBar := bar. self basicRun]. - 18965 tallies, 18975 msec. **Tree** -------------------------------- Process: (40s) Morphic UI process: nil -------------------------------- 73.3% {13901ms} MooseModel class>>importFrom: 73.3% {13901ms} MooseModel class>>importFrom:withMetamodel: 73.2% {13897ms} MSEImporter(FMImporter)>>run 73.2% {13895ms} FMMSEParser>>run 73.0% {13843ms} FMMSEParser>>basicRun 73.0% {13843ms} FMMSEParser>>Document 71.7% {13612ms} FMMSEParser>>Element |61.5% {11669ms} FMMSEParser>>Attribute | |31.4% {5963ms} MSEImporter(FMImporter)>>endAttribute: | | |31.2% {5925ms} FMFutureElement>>endAttribute: | | | 31.2% {5923ms} FMFutureAttribute>>endAttribute: | | | 27.8% {5270ms} FMFutureAttribute>>maybeEnd | | | |17.5% {3329ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | |11.0% {2091ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | |4.8% {905ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | | |3.5% {671ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | | | 1.1% {216ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | | | |1.1% {204ms} FMMultivalueLink>>do: | | | | | | | | 1.0% {197ms} OrderedCollection>>do: | | | | | | | 1.1% {205ms} ByteString(String)>>= | | | | | | | |1.0% {195ms} primitives | | | | | | | 1.0% {194ms} FM3MetaDescription>>attributeNamed:ifAbsent: | | | | | |2.6% {492ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | | |2.5% {467ms} FMMultivalueLink>>do: | | | | | | | 2.4% {450ms} OrderedCollection>>do: | | | | | |2.4% {451ms} ByteString(String)>>= | | | | | | |2.2% {421ms} primitives | | | | | |1.1% {216ms} ByteSymbol(Symbol)>>asString | | | | |2.9% {552ms} FMMultivalueLink(Collection)>>detect:ifNone: | | | | | |2.5% {480ms} FMMultivalueLink>>do: | | | | | | 2.3% {440ms} OrderedCollection>>do: | | | | |2.4% {460ms} ByteString(String)>>= | | | | | 2.3% {441ms} primitives | | | |8.7% {1647ms} FM3PropertyDescription>>setOn:values: | | | | |7.8% {1478ms} FAMIXParameterizedType(Object)>>mmSetProperty:to: | | | | | 7.7% {1464ms} FM3PropertyDescription>>setOn:rawValue: | | | | | 2.4% {457ms} ByteSymbol(Symbol)>>asMutator | | | | | |2.3% {429ms} ByteString(String)>>asSymbol | | | | | | 1.8% {349ms} Symbol class>>intern: | | | | | | 1.8% {349ms} Symbol class>>lookup: | | | | | | 1.8% {349ms} WeakSet>>like: | | | | | | 1.8% {347ms} WeakSet>>scanFor: | | | | | 1.3% {245ms} FAMIXMethod(FAMIXBehaviouralEntity)>>declaredType: | | | | | 1.3% {241ms} FMMultivalueLink class>>on:update:from:to: | | | | | 1.3% {241ms} FMMultivalueLink>>unsafeAdd: | | | | | 1.2% {237ms} OrderedCollection(SequenceableCollection)>>includes: | | | | | 1.2% {237ms} OrderedCollection(SequenceableCollection)>>indexOf: | | | | | 1.2% {237ms} OrderedCollection(SequenceableCollection)>>indexOf:ifAbsent: | | | | | 1.2% {233ms} OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent: | | | | | 1.1% {218ms} FAMIXMethod(Object)>>= | | | |1.1% {218ms} FAMIXClass(MooseEntity)>>handleFameProperty:value: | | | | 1.1% {200ms} FAMIXClass(MooseEntity)>>propertyNamed:put: | | | | 1.0% {198ms} MooseDefaultState>>propertyAt:put: | | | 3.2% {598ms} PhexMatcher>>= | | | 1.6% {312ms} PhexMatcher>>expect:using: | |13.8% {2611ms} FMMSEParser>>Value | | |6.8% {1293ms} FMMSEParser>>Primitive | | | |5.3% {1005ms} FMMSEParser>>Number | | | | 1.3% {256ms} WriteStream>>reset | | | | 1.2% {231ms} FMMSEParser>>backtrack: | | | | 1.2% {224ms} Character>>isDigit | | |5.3% {998ms} FMMSEParser>>Reference | | | 2.9% {556ms} FMMSEParser>>Identifier | |7.5% {1430ms} FMMSEParser>>tNAME | | |3.1% {594ms} Character>>isAlphaNumeric | | | |2.6% {488ms} Character>>isLetter | | | | 1.5% {292ms} Character>>characterSet | | | | |1.3% {252ms} EncodedCharSet class>>charsetAt: | | | | | 1.3% {244ms} Array(SequenceableCollection)>>at:ifAbsent: | | | | | 1.0% {196ms} primitives | | | | 1.0% {196ms} Unicode class>>isLetter: | | |1.5% {293ms} FMMSEParser>>next | | | 1.2% {235ms} MultiByteFileStream>>next | |5.0% {939ms} MSEImporter(FMImporter)>>beginAttribute: | | |4.5% {860ms} FMFutureElement>>beginAttribute: | | | 3.1% {597ms} PhexMatcher>>beTrue | | | 3.1% {585ms} PhexMatcher>>true | | | 2.5% {465ms} PhexMatcher>>expectedUnknownMessageToReturn: | | | 1.2% {219ms} Array(Collection)>>copyWithout: | | | |1.1% {213ms} Array(Collection)>>reject: | | | 1.1% {211ms} PhexMatcher>>expect:describeShould:describeShouldNot: | |1.5% {287ms} FMMSEParser>>tOPEN | | 1.3% {250ms} primitives |3.4% {648ms} MSEImporter(FMImporter)>>beginElement: | |3.2% {605ms} FMFutureElement class>>with:name: | | 3.2% {605ms} FMFutureElement>>with:name: | | 2.6% {502ms} FM3MetaDescription>>createInstance | | 2.5% {473ms} FAMIXNamespace class(Behavior)>>new |2.8% {531ms} FMMSEParser>>tFULLNAME | |1.2% {231ms} Character>>isAlphaNumeric |1.7% {314ms} FMMSEParser>>increment | |1.6% {310ms} Job>>value: | | 1.6% {310ms} Job>>currentValue: | | 1.6% {310ms} Job>>announceChange | | 1.6% {310ms} Job>>announce: | | 1.6% {310ms} Announcer>>announce: | | 1.6% {310ms} SubscriptionRegistry>>deliver: | | 1.6% {310ms} SubscriptionRegistry>>deliver:to: | | 1.6% {310ms} SubscriptionRegistry>>deliver:to:startingAt: | | 1.6% {310ms} AnnouncementSubscription>>deliver: | | 1.6% {310ms} MessageSend>>cull:cull: | | 1.6% {306ms} MessageSend>>cull: | | 1.6% {300ms} MessageSend>>value: | | 1.6% {298ms} MessageSend>>valueWithArguments: | | 1.5% {290ms} SystemProgressMorph class>>updateJob: | | 1.2% {231ms} JobProgressMorph>>label: | | 1.2% {229ms} JobProgressMorph(Object)>>changed: | | 1.2% {227ms} SystemProgressMorph>>update: | | 1.1% {211ms} SystemProgressMorph>>refresh | | 1.1% {211ms} PasteUpMorph>>displayWorld | | 1.1% {211ms} PasteUpMorph>>privateOuterDisplayWorld | | 1.1% {211ms} WorldState>>displayWorld:submorphs: |1.5% {279ms} FMMSEParser>>Serial 1.2% {229ms} MSEImporter>>endDocument 1.2% {229ms} FMRepository>>addAll: 1.2% {229ms} FMRepository>>add: 1.2% {225ms} IdentitySet(Set)>>add: **Leaves** 7.5% {1420ms} OrderedCollection>>do: 7.0% {1335ms} ByteString(String)>>= 3.0% {564ms} SmallInteger(ProtoObject)>>~~ 2.9% {559ms} FMMSEParser>>tOPEN 2.9% {549ms} Array(SequenceableCollection)>>at:ifAbsent: 2.7% {517ms} FAMIXParameterizedType(Object)>>= 2.1% {397ms} MultiByteFileStream(StandardFileStream)>>basicNext 1.8% {344ms} ByteString class(String class)>>new: 1.7% {318ms} WriteStream>>reset 1.6% {310ms} MultiByteFileStream>>next 1.6% {301ms} WriteStream>>nextPut: 1.5% {292ms} FMMSEParser>>tWHITESPACE 1.1% {204ms} FMMSEParser>>next 1.1% {200ms} OrderedCollection(SequenceableCollection)>>indexOf:startingAt:ifAbsent: 1.1% {200ms} FMMultivalueLink(Collection)>>detect:ifNone: 1.0% {195ms} SmallInteger(Magnitude)>>between:and: 1.0% {191ms} Unicode class>>isLetter: **Memory** old +35,101,980 bytes young -1,271,824 bytes used +33,830,156 bytes free +1,354,584 bytes **GCs** full 2 totalling 2,268ms (12.0% uptime), avg 1134.0ms incr 1263 totalling 2,632ms (14.0% uptime), avg 2.0ms tenures 569 (avg 2 GCs/tenure) root table 0 overflows _______________________________________________ Moose-dev mailing list [hidden email] https://www.iam.unibe.ch/mailman/listinfo/moose-dev |
Free forum by Nabble | Edit this page |