首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用StopWatch进行采集测试

用StopWatch进行采集测试
EN

Stack Overflow用户
提问于 2016-11-28 11:28:06
回答 1查看 97关注 0票数 1

我试图用115项来度量集合的运行时间。我的问题是,我只能在调试时才能测量经过的时间,并且在运行测试正常时使用StopWatch.stop();准确地设置断点--StopWatch.stop的值是0,尽管它是一个长值。首先,我认为我的集合是小的,但是这个经过的时间应该作为长值传递。

代码语言:javascript
复制
//   times-collection will be initialised somewhere else
//---------------------------------------------------------------
for (int i=0; i<10; i++){
    final StopWatch stopwatchA = new StopWatch();
    final StopWatch stopwatchB = new StopWatch();
    Iterator<String> iterator = times.iterator();

    stopwatchA.start();
    while(iterator.hasNext()){
        if (iterator.next().equals("XXX")) {
            break;
        }
    }
    stopwatchA.stop();
    stopwatchB.start();
    for (String tzd : times) {

        if (tzd.equals("XXX")) {                
            break;
        }          
    }
    stopwatchB.stop();

    if(stopwatchA.getTime() < stopwatchB.getTime()){
        System.out.println("ITERATOR IS FASTER: iterator: " + estimatedTimeIterator + " FOR-TIME: " + estimatedTimeFor);
    }else if(stopwatchA.getTime() > stopwatchB.getTime()){
        System.out.println("FOR IS FASTER: iterator: " + estimatedTimeIterator + " FOR-TIME: " + estimatedTimeFor);
    }
}   
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-28 11:46:04

标准库中的秒表在内部使用System.currentTimeMillis()来处理有115个条目的集合,在stopwatchA.start()和stopwatchA.stop()之间使用System.nanoTime()是完全可能的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40843214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档