Issue 976 in moose-technology: MSE import should be faster

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

Issue 976 in moose-technology: MSE import should be faster

moose-technology
Status: New
Owner: ----
Labels: Type-Defect Priority-Medium Component-Fame Component-MooseCore  
Milestone-4.8

New issue 976 by [hidden email]: MSE import should be faster
http://code.google.com/p/moose-technology/issues/detail?id=976

FROM Stephan Eggermont:

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


--
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 976 in moose-technology: MSE import should be faster

moose-technology

Comment #1 on issue 976 by [hidden email]: MSE import should be faster
http://code.google.com/p/moose-technology/issues/detail?id=976

Name: Fame-ImportExport-StephanEggermont.17
Author: StephanEggermont
Time: 2 September 2013, 11:05:12.426 am
UUID: bdafd946-185e-4fbd-9e0f-2200f20547e1
Ancestors: Fame-ImportExport-TudorGirba.16

Only call value: of the progress bar every 100 increments to reduce  
overhead in reading an MSE.

--
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
Reply | Threaded
Open this post in threaded view
|

Re: Issue 976 in moose-technology: MSE import should be faster

moose-technology
Updates:
        Status: Fixed

Comment #2 on issue 976 by [hidden email]: MSE import should be faster
http://code.google.com/p/moose-technology/issues/detail?id=976

It works fine. Excellent!

--
You received this message because this project is configured to send all  
issue notifications to this address.
You may adjust your notification preferences at:
https://code.google.com/hosting/settings
_______________________________________________
Moose-dev mailing list
[hidden email]
https://www.iam.unibe.ch/mailman/listinfo/moose-dev