115 개의 항목이있는 콜렉션의 경과 시간을 측정하려고합니다. 내 문제는 디버깅 할 때만 경과 시간을 측정 할 수 있다는 것입니다. StopWatch.stop();
내 테스트를 정상적으로 실행하면 StopWatch.stop
의 값은 길이가 길지만 0
입니다. 처음에는 컬렉션이 작다고 생각했지만이 경과 시간은 긴 가치로 전달되어야합니다. 표준 라이브러리에서StopWatch를 사용한 콜렉션 테스트
// 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);
}
}
어떤 StopWatch를 사용하고 계십니까? 봄 이니? – developer
nanotime을 사용하여 작성한이 "크로노 그래프"를 사용할 수 있습니다. https://github.com/marcolopes/dma/blob/master/org.dma.java/src/org/dma/java/util/Chronograph.java – marcolopes