timecostcounter.java

来自「用于求解TSP(Traveling salesman problem」· Java 代码 · 共 56 行

JAVA
56
字号
/**
 * Description: provide an utility for counting time
 *
 * @ Author        Create/Modi     Note
 * Xiaofeng Xie    Jun 06, 2005
 */

package Global.util;

public class TimeCostCounter {
  private double precision = 1000000000; //nano time
  private long totalTime = 0;
  private long segTime = 0;
  private boolean isCPUTime = false;

  public TimeCostCounter(){}

  public TimeCostCounter(boolean isCPUTime){
    this.isCPUTime = isCPUTime;
  }

  public void setPrecision(double precision) {
    this.precision = precision;
  }

  public long getCurrentTime() {
    //For JDK version 1.5 or above
//    if (isCPUTime&&GlobalTools.getCurrentJavaVerRelationTo("1.5")>=0) return java.lang.management.ManagementFactory.getThreadMXBean().getCurrentThreadCpuTime();
//    else
      return System.currentTimeMillis()*1000000;
  }

  public void setStart() {
    segTime = getCurrentTime();
  }

  public void setEnd() {
    totalTime += getCurrentTime()-segTime;
  }

  public void setEnd(long currentTime) {
    totalTime += currentTime-segTime;
  }
  public long getTotalTime() {
    return totalTime;
  }

  public double getTotalTimeInSeconds() {
    return totalTime/precision;
  }

  public void reset() {
    totalTime = 0;
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?