aboutsummaryrefslogtreecommitdiffstats
path: root/model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java
diff options
context:
space:
mode:
authorLibravatar Kristóf Marussy <marussy@mit.bme.hu>2021-07-29 19:01:25 +0200
committerLibravatar Kristóf Marussy <marussy@mit.bme.hu>2021-07-29 19:01:25 +0200
commit7f6a2528bf83f93e3d35eff228f7180e0181f4eb (patch)
tree068dc3454cc9f968162e5ae03cc8733f9011de72 /model-data/src/main/java/org/eclipse/viatra/solver/data/map/VersionedMapStoreConfiguration.java
parentRefactoring based on Sonar reports (diff)
downloadrefinery-7f6a2528bf83f93e3d35eff228f7180e0181f4eb.tar.gz
refinery-7f6a2528bf83f93e3d35eff228f7180e0181f4eb.tar.zst
refinery-7f6a2528bf83f93e3d35eff228f7180e0181f4eb.zip
Add new data structure for backend
Co-authored-by: Oszkár Semeráth <semerath@mit.bme.hu>
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}