/**
* (C) Copyright IBM Corp. 2010, 2015
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package com.ibm.bi.dml.hops.globalopt;
public class Summary
{
private double _costsInitial = -1;
private double _costsOptimal = -1;
private long _numEnumPlans = -1;
private long _numPrunedInvalidPlans = -1;
private long _numPrunedSuboptPlans = -1;
private long _numCompiledPlans = -1;
private long _numCostedPlans = -1;
private long _numEnumPlanMismatch = -1;
private long _numFinalPlanMismatch = -1;
private double _timeGDFGraph = -1;
private double _timeOptim = -1;
public void setCostsInitial(double costsInitial) {
_costsInitial = costsInitial;
}
public void setCostsOptimal(double costsOptimal) {
_costsOptimal = costsOptimal;
}
public void setNumEnumPlans(long numEnumPlans) {
_numEnumPlans = numEnumPlans;
}
public void setNumPrunedInvalidPlans(long numPrunedInvalidPlans) {
_numPrunedInvalidPlans = numPrunedInvalidPlans;
}
public void setNumPrunedSuboptPlans(long numPrunedSuboptPlans) {
_numPrunedSuboptPlans = numPrunedSuboptPlans;
}
public void setNumCompiledPlans(long numCompiledPlans) {
_numCompiledPlans = numCompiledPlans;
}
public void setNumCostedPlans(long numCostedPlans) {
_numCostedPlans = numCostedPlans;
}
public void setNumEnumPlanMismatch(long numEnumPlanMismatch) {
_numEnumPlanMismatch = numEnumPlanMismatch;
}
public void setNumFinalPlanMismatch(long numFinalPlanMismatch) {
_numFinalPlanMismatch = numFinalPlanMismatch;
}
public void setTimeGDFGraph(double timeGDFGraph) {
_timeGDFGraph = timeGDFGraph;
}
public void setTimeOptim(double timeOptim) {
_timeOptim = timeOptim;
}
@Override
public String toString()
{
StringBuilder sb = new StringBuilder();
sb.append("\nGlobal Optimization Summary:\n");
sb.append("-- costs of initial plan: "+_costsInitial +"\n");
sb.append("-- costs of optimal plan: "+_costsOptimal +"\n");
sb.append("-- # enumerated plans: "+_numEnumPlans +"\n");
sb.append("-- # pruned invalid plans: "+_numPrunedInvalidPlans +"\n");
sb.append("-- # pruned subopt plans: "+_numPrunedSuboptPlans +"\n");
sb.append("-- # program compilations: "+_numCompiledPlans +"\n");
sb.append("-- # program costings: "+_numCostedPlans +"\n");
sb.append("-- # enum plan mismatch: "+_numEnumPlanMismatch +"\n");
sb.append("-- # final plan mismatch: "+_numFinalPlanMismatch +"\n");
sb.append("-- graph creation time: "+String.format("%.3f", _timeGDFGraph/1000)+" sec.\n");
sb.append("-- optimization time: "+String.format("%.3f", _timeOptim/1000)+" sec.");
return sb.toString();
}
}