nice analysis. I really hope that using smarter class structure based on Slot we can offer a solution in the future.
On Aug 29, 2013, at 6:24 PM, Stephan Eggermont <[email protected]> wrote: > Currently, quite a lot of space seem to be taken up by not-filled instvars. > In my Delphi based Whitestar model, 406085 out of 664371 > are either nil or empty sets. In a JHotDraw model from inFusion > it is 724408 out of 1351527 > > Stephan > > > FAMeasurements>measure > varSize := mClass instSize. > instSize := mClass allInstances size. > nrNil := 0. > nrEmpty := 0. > mClass allInstancesDo: [ :instance | > 1 to: varSize do: [:varIndex | |value| > value := instance instVarAt: varIndex. > value ifNil: [ nrNil := nrNil+1 ]. > value isCollection ifTrue: [ > value ifEmpty: [ nrEmpty := nrEmpty+1 ] ] ] ] > > MeasureFAMIX>initializeMeasurements > FAMIXEntity withAllSubclassesDo: [ :each | > self measurements add: (FAMeasurements new > mClass: each; > yourself). ] > > MeasureFAMIX>run > self initializeMeasurements. > measurements do: [ :each | each measure] > > MeasureFAMIX>sum > nrOfVars := 0. > nrEmpty := 0. > measurements do: [ :measurement | > nrOfVars := nrOfVars + (measurement varSize * measurement > instSize). > nrEmpty := nrEmpty + measurement nrEmpty + measurement nrNil]. > > In Famix-SelfMeasurements on smalltalkhub > _______________________________________________ > Moose-dev mailing list > [email protected] > https://www.iam.unibe.ch/mailman/listinfo/moose-dev
