public class Test {
public static void main(String[] args) throws NumberFormatException, IOException {
// Scanner 속도
System.out.println("첫번째 Scanner");
Scanner sc = new Scanner("1222222222222");
long start = System.nanoTime();
long n1 = sc.nextLong();
long end = System.nanoTime();
System.out.println(end - start);
//BufferedReader 속도
System.out.println("두번째 버퍼");
BufferedReader br = new BufferedReader(new StringReader("1222222222222"));
long start2 = System.nanoTime();
long n2 = Long.parseLong(br.readLine());
long end2 = System.nanoTime();
System.out.println(end2 - start2);
System.out.println("성능 차이는 " + ((end-start) - (end2 - start2)));
}
}
테스트 중 주의할 점
속도측정은 Scanner이나 BufferedReader이 선언되었을 때 부터입니다.
직접 키보드로 입력을 받는다면 사용자가 키를 언제 입력하는가에 따라서
결과가 달라집니다.
성능이 BufferedReader이 빠르지만 사용자가 키보드로 입력하지 않는다면
Scanner에 비해서 매우 느리게 나올 수 있습니다.