Doru,You were right we should add performance tests … so we ran some. And the only thing that has a significant speedup is the monticello import. We probably need to rewrite this not to use "entityNamed:" …Importing whitestar (Delphi project using the Delphi importer) gives some interesting results:Old version: ca. 12 min. 50New version: ca. 12 min.stripped version: ca. 10 min. 50.That is: CPU-time pharo needed for loading + displaying the Moose model.I guess that the new version improved performance comes from initializing the byName at the size of capacity instead of 10.000.So, the question is now:- should I commit this stripped version, where the byName is gone entirely and the elements are only calculated on demand.(after I make the performance tweak to the Monticello Importer)- should I revert the mooseName change (I guess I best leave out the privateState entirely to avoid confusion, since the old never caches anyway).In the mean time I am running some more tests.Cheers,DiegoOn Sep 25, 2013, at 12:05 PM, Diego Lont wrote:- mooseName is now cached. This can have an impact if you rely on your model to be more dynamic. If you have a custom entity that can receive sub-entities at runtime, you might want to resetMooseName. For example, if you modify the scope of a FAMIXType, the mooseName has to be reset:FAMIXType>>container: aContainerEntitycontainer := FMMultivalueLink on: selfupdate: #typesfrom: self containerto: aContainerEntity.self resetMooseNameThis is supposed to be an optimization, but it makes the code more complicated. To see if it is actually worth it, we should benchmark the impact.@Diego, @Stephan: Did you do some benchmarking on this?
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev