From 3ba19eb2cd323b9cc6e1abfae3255d51aac0fc19 Mon Sep 17 00:00:00 2001 From: anqili426 Date: Wed, 15 Apr 2020 12:57:29 -0400 Subject: Added measurements --- .../viatra2logic/NumericProblemSolver.java | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (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/NumericProblemSolver.java b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java index 28fa2c64..7845c528 100644 --- a/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java +++ b/Framework/hu.bme.mit.inf.dslreasoner.viatra2logic/src/hu/bme/mit/inf/dslreasoner/viatra2logic/NumericProblemSolver.java @@ -164,9 +164,8 @@ public class NumericProblemSolver { System.out.println("Running time:" + (end - start)); } - public void testGetOneSol2(XExpression expression, Term t) throws Exception { - int count = 50; + int count = 100; Map>> matches = new HashMap>>(); Set> matchSet = new HashSet>(); ArrayList allElem = getJvmIdentifiableElements(expression); @@ -206,12 +205,11 @@ public class NumericProblemSolver { } matches.put(expression, matchSet); - long start = System.currentTimeMillis(); - Map sol = getOneSolution(obj, matches); - long end = System.currentTimeMillis(); - System.out.println("Number of matches: " + matchSet.size()); - System.out.println("Running time:" + (end - start)); + for (int i = 0; i < 10; i++) { + Map sol = getOneSolution(obj, matches); + Thread.sleep(3000); + } } private ArrayList getJvmIdentifiableElements(XExpression expression) { @@ -241,16 +239,26 @@ public class NumericProblemSolver { public Map getOneSolution(List objs, Map>> matches) throws Exception { Map sol = new HashMap(); + long startformingProblem = System.currentTimeMillis(); BoolExpr problemInstance = formNumericProblemInstance(matches); + long endformingProblem = System.currentTimeMillis(); + System.out.println("Forming problem: " + (endformingProblem - startformingProblem)); s.add(problemInstance); + long startSolvingProblem = System.currentTimeMillis(); if (s.check() == Status.SATISFIABLE) { Model m = s.getModel(); + long endSolvingProblem = System.currentTimeMillis(); + System.out.println("Solving problem: " + (endSolvingProblem - startSolvingProblem)); + long startFormingSolution = System.currentTimeMillis(); for (Object o: objs) { IntExpr val =(IntExpr) m.evaluate(varMap.get(o), false); Integer oSol = Integer.parseInt(val.toString()); sol.put(o, oSol); } + long endFormingSolution = System.currentTimeMillis(); + System.out.println("Forming solution: " + (endFormingSolution - startFormingSolution)); } + return sol; } -- cgit v1.2.3-54-g00ecf