Hi,
I made the benchmarks with the files you provided. I have more or less the
same magnitude:
Version 504: 0:00:01:09.021
Version 1175: 0:00:02:37.507
However, by launching it in the time profiler (MooseModel new
importFromMSEStream: (StandardFileStream readOnlyFileNamed:
'd:/ArgoUML-0-34.mse')), it takes
504: 1 min 55
1175: 4 min 25
Well there is a delta...
After investigation, the standard process has almost the same duration (120
secs for prespur and 140 secs for spur).
But, there is a large difference in GC time:
504: not spur
**Memory**
old +144,822,000 bytes
young -8,293,660 bytes
used +136,528,340 bytes
free -104,186,788 bytes
**GCs**
full 1 totalling 965ms (1.0% uptime), avg 965.0ms
incr 3264 totalling 42,279ms (33.0% uptime), avg 13.0ms
tenures 2,497 (avg 1 GCs/tenure)
root table 0 overflows
1175: spur
**Memory**
old +0 bytes
young +340,048 bytes
used +340,048 bytes
free -340,048 bytes
**GCs**
full 7 totalling 145,003ms (66.0% uptime), avg
20715.0ms
incr 3288 totalling 30,912ms (14.0% uptime), avg 9.0ms
tenures 7,146,505 (avg 0 GCs/tenure)
root table 0 overflows
Total GC time
504: 43 secs
1175: 176 secs
See the performance reports attached.
I let VM people take care of the issue ;)
Cheers,
Vincent
-----Original Message-----
From: moose-dev-bounces(a)list.inf.unibe.ch
[mailto:moose-dev-bounces@list.inf.unibe.ch] On Behalf Of Tudor Girba
Sent: dimanche 24 janvier 2016 09:08
To: Moose-related development
Subject: [Moose-dev] Re: mse loading looks slower :(
Hi,
I am talking about the difference between Moose 6 images:
- October 7:
https://ci.inria.fr/moose/job/moose-6.0/504/artifact/moose-6.0.zip
- yesterday:
https://ci.inria.fr/moose/job/moose-6.0/1175/artifact/moose-6.0.zip
Multiple things did change, but not in Moose. In the end, I would like to
understand where the slowness comes. Maybe it comes from Spur itself, but
maybe it comes from somewhere else.
Cheers,
Doru
> On Jan 24, 2016, at 1:41 AM, Mariano Martinez Peck <marianopeck(a)gmail.com>
wrote:
>
> Doru...just to be sure it is not a Pharo (image change), when you said
before and after Spur, do you mean a Pharo 5.0 exactly (just before Spur)
and a Pharo JUST after it? Otherwise, the slowness may come from the
difference between the 2 Pharos you are running.
>
> Cheers,
>
> On Sat, Jan 23, 2016 at 5:55 PM, Tudor Girba <tudor(a)tudorgirba.com> wrote:
> Hi,
>
> I am doing some performance testing of Moose with the Spur VM on Mac.
>
> I tried to load an MSE file with ArgoUML 0.34 and on my machine it loads
twice as slow with Spur than before:
> - PreSpur: 0:00:01:07.272
> - Spur: 0:00:02:10.508
>
> Here is the reference file:
> https://dl.dropboxusercontent.com/u/18323746/Tmp/ArgoUML-0-34.mse.zip
>
> And here is the script:
> [
> MooseModel new
> importFromMSEStream: (StandardFileStream
readOnlyFileNamed:
> (FileSystem workingDirectory / 'src' /
'ArgoUML-0-34' / 'ArgoUML-0-34.mse') fullName).
> ] timeToRun
>
> Do you get the same?
>
> Cheers,
> Doru
>
>
> --
> www.tudorgirba.com
> www.feenk.com
>
> "Problem solving should be focused on describing the problem in a way
> that makes the solution obvious."
>
>
>
>
>
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
> https://www.list.inf.unibe.ch/listinfo/moose-dev
>
>
>
> --
> Mariano
> http://marianopeck.wordpress.com
> _______________________________________________
> Moose-dev mailing list
> Moose-dev(a)list.inf.unibe.ch
> https://www.list.inf.unibe.ch/listinfo/moose-dev
--
www.tudorgirba.comwww.feenk.com
"What is more important: To be happy, or to make happy?"
_______________________________________________
Moose-dev mailing list
Moose-dev(a)list.inf.unibe.ch
https://www.list.inf.unibe.ch/listinfo/moose-dev
Hi,
I just opened a new Moose image and the font is sharper than a Pharo image... Is it wanted?
[cid:image001.png@01D1577F.87DDFAF0]
Updating the font doesn't resolve the problem.
PS: I am using Windows7.
Cheers,
Vincent
________________________________
Ce message et les pi?ces jointes sont confidentiels et r?serv?s ? l'usage exclusif de ses destinataires. Il peut ?galement ?tre prot?g? par le secret professionnel. Si vous recevez ce message par erreur, merci d'en avertir imm?diatement l'exp?diteur et de le d?truire. L'int?grit? du message ne pouvant ?tre assur?e sur Internet, la responsabilit? de Worldline ne pourra ?tre recherch?e quant au contenu de ce message. Bien que les meilleurs efforts soient faits pour maintenir cette transmission exempte de tout virus, l'exp?diteur ne donne aucune garantie ? cet ?gard et sa responsabilit? ne saurait ?tre recherch?e pour tout dommage r?sultant d'un virus transmis.
This e-mail and the documents attached are confidential and intended solely for the addressee; it may also be privileged. If you receive this e-mail in error, please notify the sender immediately and destroy it. As its integrity cannot be secured on the Internet, the Worldline liability cannot be triggered for the message content. Although the sender endeavours to maintain a computer virus-free network, the sender does not warrant that this transmission is virus-free and will not be liable for any damages resulting from any virus transmitted.
Hi Stephan,
On Sun, Jan 24, 2016 at 1:04 PM, Stephan Eggermont <stephan(a)stack.nl> wrote:
> On 24-01-16 21:20, Eliot Miranda wrote:
>
>> Hi Vincent,
>>
>> I'll take a look early this week. There's clearly a bug; the Spur
>> GC is /not/ collecting those dictionaries :-( (thanks Stephan!).
>>
>
> I'm afraid the dictionaries are part of the model and should not be
> garbage collected. They do make things slow though, so we need a better
> model. Garbage collection cycle takes a few seconds now on my 4 GHz 4790K
> 32GB.
So Vincent's awful sats are no longer showing up? He reported a 140 second
GC pause. What are you seeing? (.i.e. can you post the full stats?) If
this has disappeared then I suspect my Slang bug, which I fixed yesterday.
But I will investigate.
> Stephan
>
_,,,^..^,,,_
best, Eliot
What should we use instead? Array? nil when it’s empty? How about introducing some sort of a NilDictionary?
Would anyone like to experiment?
Cheers,
Doru
> On Jan 24, 2016, at 8:49 PM, Stephan Eggermont <stephan(a)stack.nl> wrote:
>
> I think the use of SmallDictionaries for storing Famix state is not such a good idea. After loading the model:
>
> bag := Bag new .
> SmallDictionary allInstances do: [ :each | bag add: each size ].
> bag sortedCounts
>
> "{530387->0. 19253->3. 18292->1. 20->2. 2->4. 2->11. 1->12}"
>
> bag := Bag new .
> SmallDictionary allInstances do: [ :each | bag add: (each keys) ].
> bag sortedCounts
>
> an Array(530387->#() 19253->#(#cyclomaticComplexity #numberOfStatements #mooseName) 9311->#(#binding) 8707->#(#mooseName) 426->#(#comments) 20->#(#comments #ir) 13->#(#ir) 4->#(#comments #binding) 3->#(#binding #semanticWarning) 2->#('charset') 1->#(1 2 3 4 5 6 7 8 9 10 11 12) 1->#(14 15 16 17 18 19 20 21 22 23 24) 1->#(9 10 11 12 13 14 15 16) 1->an Array('-source-' #'`@method:' RBPatternVariableNode(`@args) '-pragmas-') 1->#(1 2 3 4 5 6 7 8 9 10 11) 1->{MooseModel} 1->{FAMIXAnnotationType. FAMIXClass. FAMIXNamespace. FAMIXMethod} 1->#(1 2))
>
>
On 24-01-16 15:34, Vincent BLONDEAU wrote:
> Yes, and we have to do several passes to construct the model with references
> (so we store a mapping table).
> Maybe a collection or two are GCed.
Probably a bit more. Before loading, there were 172 instances of
SmallDictionary. After loading, 558293, of which 30194 contain something.
Stephan
Hi,
I am doing some performance testing of Moose with the Spur VM on Mac.
I tried to load an MSE file with ArgoUML 0.34 and on my machine it loads twice as slow with Spur than before:
- PreSpur: 0:00:01:07.272
- Spur: 0:00:02:10.508
Here is the reference file:
https://dl.dropboxusercontent.com/u/18323746/Tmp/ArgoUML-0-34.mse.zip
And here is the script:
[
MooseModel new
importFromMSEStream: (StandardFileStream readOnlyFileNamed:
(FileSystem workingDirectory / 'src' / 'ArgoUML-0-34' / 'ArgoUML-0-34.mse') fullName).
] timeToRun
Do you get the same?
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Problem solving should be focused on describing
the problem in a way that makes the solution obvious."
Hi,
As I told you before, I have been using Pharo/Moose/Roassal to approach
certain problems by agile prototyping and visualization. It has been a
really empowering community and technology and even a newbie can feel
more eloquent talking to/with computers, so thanks as always.
Here is the blog post with more details:
http://mutabit.com/offray/blog/en/entry/sdv-infomed
And here the tweet if you're in that network and want to reshare:
https://twitter.com/offrayLC/status/689854446541611008
Hopefully I have been clear in the blog, but any advice to my almost
self taught English, or proof reading or improvements are welcomed. I
also hope putting proper credits to all the people involved in this
visualization. And hopefully soon (at some point in February) I will be
sharing some advances in the interactive notebook front also.
Cheers,
Offray
Hi,
With the latest development, Roassal2 seems to work well.
For example, the rendering of the logical view of Glamour browsers was broken, and now it works well. This is great news.
Is this just my impression? Do we know if there are still open issues with the FFI in this area?
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Every thing should have the right to be different."
Bonjours,
J'ai voulu installer Telescope sur Pharo 4.0. Hors lors de sa configuration, j'ai eu un Warning à propos de ce package qui dépend d'autre packages :
This package depends on the following classes:
RTObject
RTView
RTClusterLayout
RTAbstractNormalizer
RTShape
J'ai donc téléchargé une image de Moose 5.1. L'installation réussie, j'ai essayé de suivre "Tutorial end-user" et lors du premier exemple, le message n'était pas compris, le receveur du "new" est "null".
Cordialement,
Axel Lefaux.
Hi,
We now have a new little feature in Spotter. Take a look:
Basically, you will get a setting for each processor defined in the image. This happens dynamically. If you disable the setting, the processor will not be available anymore.
Please give this a try and let us know what you think.
We would also like a code review related to the way we deal with dynamic settings. Right now, the magic is done in GTSpotterExtensionSettings (this is real magic - read the class comment), but the current solution relies on a doesNotUnderstand: to maintain the list of disabled processors. I would more prefer it if we could create a DynamicSettingDeclaration that would be able to pass arguments to one central selector.
Cheers,
Doru
--
www.tudorgirba.comwww.feenk.com
"Quality cannot be an afterthought."