tree bbc6ac3d9524ca3897247287f77c0f12fceeb8f0
parent 76cacff2286d1b1dd661757d2788ef5a4eb6caea
author Laurent Goubet <laurent.goubet@obeo.fr> 1434974900 +0200
committer Laurent Delaigue <laurent.delaigue@obeo.fr> 1434986275 -0400

Caching - Don't minimize the logical model eagerly

We use a cache to make sure the EMFModelProvider can always return the
logical model of files as fast as possible while reducing I/O operations
to the bare minimum.
Before,we used to minimize the logical model _before_ we cached it,
which prevented minimized resources from being cached.
This change makes sure that all the resources of the logical model are
cached before the logical model is minimized.
The expected performance impact is important, our test cases show a gain
of ~10 seconds for a merge operation that took roughly 18 seconds
and takes 8 with this fix.

Change-Id: I65612d9a53b454a288926a3533d57910b13a7e32