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."
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."
Hi!
Just in case you did not know, we have a MultipleData to chart using bars several data sets. For example:
-=-=-=-=-=-=-=-=-=
b := RTGrapher new.
d := RTMultipleData new.
d barShape color: Color blue.
d points: #( #('hello' 1 2 1) #('world' 2 4 2) #('bonjour' 3 5 4) #('Gutten Morgen' -1 4 -5)).
d addMetric: #second.
d addMetric: #third.
d addMetric: #fourth.
"d barChartWithBarCenteredTitle: #first."
d barChartWithBarTitle: #first rotation: -30.
b add: d.
b
-=-=-=-=-=-=-=-=-=
Cheers,
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
Hi!
I regularly see very obvious problems with Rubric.
I have just downloaded the latest Moose image and typing in a Playground and get an exception in: RubTextComposer>>recomposeFrom: start to: stop delta: delta
Am I the only one?
Alexandre
--
_,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
Alexandre Bergel http://www.bergel.eu
^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
I'm try to load Ozone in moose 5.1 but I got the following error:
This package depends on the following classes:
MalCyclesCoverageAndSort
DSMMatrix
DSMCellTest
DSMCell
NumberColoredDSM
You must resolve these dependencies before you will be able to load these
definitions:
weightedSize
testWeightedSize
doLayerGraphModified
....
Does anyone know what happened to the classes that are not found in the
newer version because it loaded correctly in Moose 5.0 (Pharo 3.0)? Are
these renamed or is there a package not loaded in the latest moose?
tx!