最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】java中计算代码执行时间

Java crifan 2787浏览 0评论

【背景】

折腾:

【记录】尝试优化antlr的lexer和parser以提高继续速度(解析性能)

期间,需要写测试代码,去测试解析时间。

即,计算一段代码的执行时间。

【解决过程】

1. 参考:

测试一下Java代码的执行时间

去试试,结果发现想要使用java中的字典类型的变量:

【已解决】Java中的字典类型变量

2.然后,就可以去试试代码:

import java.util.HashMap;
import java.util.Map;

private HashMap<String, Long> calcTimeKeyDict;
//private Map<String, Long> calcTimeKeyDict;

/** start calculate time */
public long calcTimeStart(String uniqueKey)
{
    long startMilliSec = 0;
    startMilliSec = System.currentTimeMillis();
    calcTimeKeyDict.put(uniqueKey, startMilliSec);
    return startMilliSec;
}

/** end calculate time */
public long calcTimeEnd(String uniqueKey)
{
    long endMilliSec = System.currentTimeMillis();
    
    long elapsedMilliSec = 0;
    if(calcTimeKeyDict.containsKey(uniqueKey))
    {
        long startMilliSec = calcTimeKeyDict.get(uniqueKey);
        elapsedMilliSec = endMilliSec - startMilliSec;
    }
    
    return elapsedMilliSec;
}

计算时间了。

举例:

crl.calcTimeStart("load_dd_file");
cs = new ANTLRFileStream(ddFile);
long loadFileTime = crl.calcTimeEnd("load_dd_file"); //43581 ms

 

【总结】

java中计算代码执行时间,相对还算比较简单的。

就是获得两次当前时间,计算出时间差即可。

 

注:

更多java库函数,参见:

https://code.google.com/p/crifanlib/source/browse/trunk/java/crifanLib.java

转载请注明:在路上 » 【已解决】java中计算代码执行时间

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.171 seconds, using 22.06MB memory