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@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 21:19, Tudor Girba wrote:
What should we use instead? Array? nil when it’s empty? How about introducing some sort of a NilDictionary?
Would anyone like to experiment?
With the fast become the NullDictionary should work even better than before. Storing all the keys when we have only so little variants is wasteful, generating value classes would be much faster
Stephan