[jboss-svn-commits] JBL Code SVN: r33550 - labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Jun 18 14:41:20 EDT 2010
Author: ge0ffrey
Date: 2010-06-18 14:41:20 -0400 (Fri, 18 Jun 2010)
New Revision: 33550
Modified:
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java
labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java
Log:
show average calculate count per second
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java 2010-06-18 16:49:32 UTC (rev 33549)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/DefaultLocalSearchSolver.java 2010-06-18 18:41:20 UTC (rev 33550)
@@ -150,7 +150,7 @@
}
public void solvingStarted(LocalSearchSolverScope localSearchSolverScope) {
- localSearchSolverScope.resetTimeMillisSpend();
+ localSearchSolverScope.reset();
if (randomSeed != null) {
logger.info("Solving with random seed ({}).", randomSeed);
localSearchSolverScope.setWorkingRandom(new Random(randomSeed));
@@ -194,10 +194,15 @@
bestSolutionRecaller.solvingEnded(localSearchSolverScope);
termination.solvingEnded(localSearchSolverScope);
decider.solvingEnded(localSearchSolverScope);
- logger.info("Solved at step index ({}) with time spend ({}) for best score ({}).", new Object[] {
+ long timeMillisSpend = localSearchSolverScope.calculateTimeMillisSpend();
+ long averageCalculateCountPerSecond = localSearchSolverScope.getCalculateCount() * 1000L / timeMillisSpend;
+ logger.info("Solved at step index ({}) with time spend ({}) for best score ({})"
+ + " with average calculate count per second ({}).",
+ new Object[] {
localSearchSolverScope.getLastCompletedStepScope().getStepIndex(),
- localSearchSolverScope.calculateTimeMillisSpend(),
- localSearchSolverScope.getBestScore()
+ timeMillisSpend,
+ localSearchSolverScope.getBestScore(),
+ averageCalculateCountPerSecond
});
}
Modified: labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java
===================================================================
--- labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java 2010-06-18 16:49:32 UTC (rev 33549)
+++ labs/jbossrules/trunk/drools-planner/drools-planner-core/src/main/java/org/drools/planner/core/localsearch/LocalSearchSolverScope.java 2010-06-18 18:41:20 UTC (rev 33550)
@@ -9,7 +9,6 @@
import org.drools.RuleBase;
import org.drools.StatefulSession;
import org.drools.WorkingMemory;
-import org.drools.planner.core.move.Move;
import org.drools.planner.core.score.calculator.ScoreCalculator;
import org.drools.planner.core.score.Score;
import org.drools.planner.core.score.constraint.ConstraintOccurrence;
@@ -37,6 +36,7 @@
private Random workingRandom;
private Score startingScore;
+ private long calculateCount;
private int bestSolutionStepIndex;
private Solution bestSolution;
@@ -105,6 +105,10 @@
this.startingScore = startingScore;
}
+ public long getCalculateCount() {
+ return calculateCount;
+ }
+
public int getBestSolutionStepIndex() {
return bestSolutionStepIndex;
}
@@ -145,11 +149,13 @@
workingMemory.fireAllRules();
Score score = workingScoreCalculator.calculateScore();
workingSolution.setScore(score);
+ calculateCount++;
return score;
}
- public void resetTimeMillisSpend() {
+ public void reset() {
startingSystemTimeMillis = System.currentTimeMillis();
+ calculateCount = 0L;
}
public long calculateTimeMillisSpend() {
More information about the jboss-svn-commits
mailing list