From 0ca3b7409e1b98bb2ebeb65df9dbe316500302e9 Mon Sep 17 00:00:00 2001 From: Oszkar Semerath Date: Tue, 12 May 2020 03:19:32 +0200 Subject: logging detailed measurement data for the numerical solver --- .../inf/dslreasoner/viatra2logic/NumericTranslator.xtend | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner') diff --git a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend index 89719b91..81bc1796 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericTranslator.xtend @@ -19,6 +19,10 @@ class NumericTranslator { private XExpressionExtractor extractor = new XExpressionExtractor(); + long formingProblemTime=0; + long solvingProblemTime=0; + long formingSolutionTime=0; + val comparator = new Comparator(){ override compare(JvmIdentifiableElement o1, JvmIdentifiableElement o2) { //println('''«o1.simpleName» - «o2.simpleName»''') @@ -52,6 +56,7 @@ class NumericTranslator { val input = formNumericProblemInstance(matches) val solver = new NumericProblemSolver val satisfiability = solver.isSatisfiable(input) + solver.updateTimes return satisfiability } @@ -59,6 +64,17 @@ class NumericTranslator { val input = formNumericProblemInstance(matches) val solver = new NumericProblemSolver val solution = solver.getOneSolution(primitiveElements,input) + solver.updateTimes return solution } + + private def updateTimes(NumericProblemSolver s) { + this.formingProblemTime += s.getEndformingProblem + this.solvingProblemTime += s.getEndSolvingProblem + this.formingSolutionTime += s.getEndFormingSolution + } + + def getFormingProblemTime() {formingProblemTime} + def getSolvingProblemTime() {solvingProblemTime} + def getFormingSolutionTime() {formingSolutionTime} } \ No newline at end of file -- cgit v1.2.3-54-g00ecf