mercredi 28 avril 2010

Compare/Helios - Every Second Counts

I tend to break a lot of keyboards. Not because I release all the aggression that I hold deep within me on them, but because I drool testing the product Obeo is going to launch really soon now.

During EclipseCon 2010 It struck me that some keyboards might have died because of EMF Compare. Ok, no more drooling here, the colors are nice, but when you are using compare with pretty decent models (like thousands of elements) you end up thinking it could be faster.

Hold your breath, order your very last keyboard which you'll use for a long time now, Compare's scalability has been improved a lot both in terms of performances and memory.

This work was pretty focused on the matching pipeline, there is room for improvements in the other parts of compare (especially the UI) but the matching was just so obviously slow and is even called 2 times for the 3 way match. That wa just making sense to fix things there.

The performance test case is using UML models containing 1,000 to 256,000 elements organized in a decent way and is matching them several times, here are the results before the scalability sprint:

Yes we have quite a strange value for the 1000 elements model, after investigation it looks like it's just some kind of corner case.

The last models have no time result for the simple reason they use all my memory and I end up with this dreaded OOM error.

Here are the figures after the sprint:

Now I can feel from here that you've been thrilled by all these figures and you only want one thing : to get your hands on this release. The Helios M7 release will be a good time to do so, wait for a few more days and go ahead: give us feedback !

Not only will the Helios release provide these major performances enhancements but the future looks even better: Stefan will work on a new match engine implementation focused on scalability for his google summer of code.

Waking up as every morning, getting up but being a bit happier than usual as I know I made progress on something important for adopters :)

Please, keep in mind that your feedback made me work on this, thanks again.

Qui êtes-vous ?

CTO at Obeo, project lead of the Amalgamation project, commiter in Eclipse Sirius, Acceleo, EMF Compare and Eclipse Modeling's
evangelist, he works in his daily job on creating products - OpenSource or not - and building the A-team to create technology.

He has graduated both the Polytech' engineering school and a research Master at the University of Nantes
and specialized himself in software engineering and model driven
engineering. Prior to his current jobs he has been an active
contributor to open source and worked in Guangzhou on a global video
conference solution for the Chinese Education and Research Network
(CERNET).