Annotation Interface Accelerated


@Documented @Retention(RUNTIME) @Target(TYPE) public @interface Accelerated
Repository implementations annotated with this class will keep deserialized entities in memory, in addition to a serialized binary form, of all entities in the repository.

This can significantly improve performance of queries, aggregations, and in-place reads and updates by avoiding deserialization of entities, at the cost of (significantly) increased memory footprint.

If all you are doing are key-based reads, writes and updates, or if the data set is fairly small, acceleration is probably not worth the cost. Even with the occasional query and/or aggregation, it may be more efficient (from a memory consumption perspective) to create more specific indices for your entity classes.

However, if you are doing a lot of queries and aggregations across the large data set, or need to perform updates as efficiently as possible and with minimal deserialization and GC impact, it may be worth marking repository implementation with this annotation.

Since:
21.06
Author:
Aleks Seovic 2021.02.09
See Also: