aboutsummaryrefslogtreecommitdiffstats
path: root/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java
diff options
context:
space:
mode:
Diffstat (limited to 'model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java')
-rw-r--r--model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java27
1 files changed, 27 insertions, 0 deletions
diff --git a/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java b/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java
new file mode 100644
index 00000000..196adf2c
--- /dev/null
+++ b/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java
@@ -0,0 +1,27 @@
1package org.eclipse.viatra.solver.data.map;
2
3public class VersionedMapStoreConfiguration {
4 /**
5 * If true root is replaced with immutable node when committed. Frees up memory
6 * by releasing immutable nodes, but it may decrease performance by recreating
7 * immutable nodes upon changes (some evidence).
8 */
9 public boolean immutableWhenCommiting = true;
10
11 /**
12 * If true, all subnodes are cached within a {@link VersionedMapStore}. It
13 * decreases the memory requirements. It may increase performance by discovering
14 * existing immutable copy of a node (some evidence). Additional overhead may
15 * decrease performance (no example found). The option permits the efficient
16 * implementation of version deletion.
17 */
18 public boolean sharedNodeCacheInStore = true;
19
20 /**
21 * If true, all subnodes are cached within a group of
22 * {@link VersionedMapStoreImpl#createSharedVersionedMapStores(int, ContinousHashProvider, Object, VersionedMapStoreConfiguration)}.
23 * If {@link VersionedMapStoreConfiguration#sharedNodeCacheInStore} is
24 * <code>false</code>, then it has currently no impact.
25 */
26 public boolean sharedNodeCacheInStoreGroups = true;
27}