From the very beginning, we had to deal with models. No problem, EMF was there for us, providing rich and smart solutions: Sirius for diagrams, OCL for checking, edapt for migration, Acceleo for text generation and so many more. There was a time when everything was for the best in the best of all possible worlds'.
So good that it was tempting to enlarge the scope of the application and add new concepts. Again, and again. The degradation of performances over time is treacherous. But one day, it’s there and you can’t ignore it anylonger. And with that begins the long and painful process of “optimization”. From configuration tweakings to algorithms refactoring, the unbearable situation gets back to ... bearable, at best.
At some point, we had to face it, the solution we had chosen (?) and built upon will not make it. We decided then to restart from scratch and made a benchmark of the possible solutions : customizing Teneo, CDO, a mix of EMF and POJOs, Texo, Hibernate, ...
The choice of the right solution requires a good analysis of the specific needs and a pretty good understanding of the underlying mechanisms.
In this talk, we will present our global analysis on which is good for what and we will give more details on our specific use case and the solution we’ve implemented.
If you fear for your models size, if you love 1/100 ratio improvements and optimistic happy ends, this talk is for you.