대학 생활/JAVA
[JAVA] (조금 더 정확한)실행시간 확인, 측정하기(timer)
opid
2014. 5. 2. 22:45
실행환경 | |
Notebook | SAMSUNG NT550p5c-s61r |
CPU | Intel Core i5-3210M 2.50GHz |
Memory | 8 GB |
OS | Window 7 ultimate 64bit |
Java | 1.7.0_51 |
Android | SDK : 4.4.2 (KitKat) / 테스트기기 : Galaxy S3 4.3 (Jelly Bean) |
WebServer | Apache Tomcat 7.0 |
코드 실행시간 확인하기
조금 더 정확한 측정 방법
public class TimerTest { public static void main(String[] args) { ExecTime timer = new ExecTime(); timer.start(); // code for (int i = 0; i < 100000000; i++) { } timer.stop(); timer.printExecTime(); System.out.println(timer.getRunTimeNano() / 1000000 + " ms"); System.out.println(timer.getRunTimeNano() / 1000000 / 1000 + " sec"); } } class ExecTime { private long start; private long stop; void start() { start = System.nanoTime(); } void stop() { stop = System.nanoTime(); } long getRunTimeNano() { return stop - start; } void printExecTime() { System.out.println(stop - start + " ns"); } }
방법1
class TimeTest1 { public static void main(String[] args) { long startTime = System.currentTimeMillis(); // code long stopTime = System.currentTimeMillis(); long runTime = stopTime - startTime; System.out.println(runTime); } }
방법 2
public class Stopwatch { long start; long end; void start() { start = System.currentTimeMillis(); } void stop() { end = System.currentTimeMillis(); } String getRunTime(){ return end - start + ""; } }
class TimeTest2 { public static void main(String[] args) { Stopwatch timer = new Stopwatch().start(); // code timer.stop(); System.out.println(timer.getRunTime()); } }