JAVA IO/NIO (10mb 읽기/쓰기)
버퍼 없는 FileReader 버퍼있는 FileReader BufferedReader(줄 단위로 읽기 제공)
속도 2,480ms (느림) 400ms (빠름) 350ms (조금 더 빠름)
BufferedReader(IO) MappedByteBuffer(NIO) TransferTo(NIO)
속도 422ms 320ms 310ms
프로그램을 만들다 보면 IO를 많이 사용한다 .ex) config 파일을 읽는 일 등
그래서 설정파일을 읽을 때마다 수정되었는지 확인한다면 이를 데몬(Daemon) 스레드를 하나 생성하여 5~10분마다 확인하게 하는 것이 수정되었는지 안되었는지 확인하는 것보다 속도를 향상시킬 수 있다.
NIO가 IO보다 빠른 이유는 non-blocking(비봉쇄)과 asynchronous(비동기) 때문이다.
참조. http://devsw.tistory.com/142