eclipse-sirius / sirius-emf-json

JSON-based EMF Resource implementation - part of Eclipse Sirius
https://eclipse.dev/sirius/sirius-web.html
Eclipse Public License 2.0
5 stars 10 forks source link

Cache resolved types during deserialization #38

Closed pcdavid closed 1 month ago

pcdavid commented 1 month ago

During deserialization, GsonEObjectDeserializer.createProxyEObject(String, String, EReference) re-computes the EClass corresponding to each qualified type names encountered (e.g. "flow:System") every time. This information is fixed in the context of a single serialization and could be cached.

pcdavid commented 1 month ago

Time taken by createProxyEObject when loading the "Sirius Web" Papaya sample:

image

pcdavid commented 1 month ago

After caching the already resolved types:

image