Skip to content

AbstractDirectWrite.toArray is not efficient #54

@gdaniel

Description

@gdaniel

The default implementation of toArray is not efficient: it first get the size n of the given EStructuralFeature and calls n times the get method, retrieving the elements of the collection one by one, creating many database calls.

This solution works at this level of abstraction, but can be optimized a lot in database-specific implementations. For example MapDB serializes the entire list as a single record. Calling multiple get on it implies multiple list deserializations which are very slow.

Same happens in Blueprints implementation, where getting an element at a given index is very costly.

This issue is also related to #33 and #34: generic code in the editor uses a lot toArray calls, inducing an important (and unnecessary) execution time overhead.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions