From 329ac27dfa84e9a07760bea75b36476dddcf29a7 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Tue, 14 Jul 2020 10:45:03 +0200 Subject: Optimizations --- .../logic2viatra/rules/RefinementRuleProvider.xtend | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend index 1d976e14..f7fe97a3 100644 --- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.logic2viatra/src/hu/bme/mit/inf/dslreasoner/viatrasolver/logic2viatra/rules/RefinementRuleProvider.xtend @@ -114,7 +114,7 @@ class RefinementRuleProvider { ) statistics.addExecutionTime(System.nanoTime - startTime) - flushQueryEngine + flushQueryEngine(scopePropagator) // Scope propagation val propagatorStartTime = System.nanoTime @@ -144,7 +144,7 @@ class RefinementRuleProvider { ) statistics.addExecutionTime(System.nanoTime - startTime) - flushQueryEngine + flushQueryEngine(scopePropagator) // Scope propagation val propagatorStartTime = System.nanoTime @@ -171,7 +171,7 @@ class RefinementRuleProvider { ) statistics.addExecutionTime(System.nanoTime - startTime) - flushQueryEngine + flushQueryEngine(scopePropagator) // Scope propagation val propagatorStartTime = System.nanoTime @@ -404,7 +404,7 @@ class RefinementRuleProvider { // Scope propagation if (scopePropagator.isPropagationNeededAfterAdditionToRelation(declaration)) { - flushQueryEngine + flushQueryEngine(scopePropagator) val propagatorStartTime = System.nanoTime scopePropagator.propagateAllScopeConstraints() @@ -581,8 +581,8 @@ class RefinementRuleProvider { inverseInterpretation.relationlinks += inverseLink } - protected def flushQueryEngine() { - if (queryEngine.updatePropagationDelayed) { + protected def flushQueryEngine(ScopePropagator scopePropagator) { + if (scopePropagator.queryEngineFlushRequiredBeforePropagation && queryEngine.updatePropagationDelayed) { delayMessageDelivery.setBoolean(queryEngine, false) queryEngine.getQueryBackend(ReteBackendFactory.INSTANCE).flushUpdates delayMessageDelivery.setBoolean(queryEngine, true) -- cgit v1.2.3-70-g09d2