Slow reading of MSE file

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

Slow reading of MSE file

Stephan Eggermont-3
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
Reply | Threaded
Open this post in threaded view
|

Re: Slow reading of MSE file

Stéphane Ducasse
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
Reply | Threaded
Open this post in threaded view
|

Re: Slow reading of MSE file

Stephan Eggermont-3
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
Reply | Threaded
Open this post in threaded view
|

Re: Slow reading of MSE file

Tudor Girba-2
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
Reply | Threaded
Open this post in threaded view
|

Re: Slow reading of MSE file

Tudor Girba-2


On Sun, Sep 1, 2013 at 8:04 AM, Tudor Girba <[hidden email]> wrote:
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





--

"Every thing has its own flow"

_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Slow reading of MSE file

Stephan Eggermont-3
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