← 질문 목록
#335깊이 0
읽은 파일이 두 번째부터 빨라지는 이유는?
한 번 읽은 내용을 운영체제가 남는 메모리에 들고 있기 때문이다. 그 자리에 남아 있으면 두 번째는 디스크까지 안 간다.
높은 주소낮은 주소
응용 프로그램
자기 버퍼에 복사해 온다
페이지 캐시아래로 자랍니다
운영체제가 파일 내용을 들고 있는 자리
디스크
실제 파일
이 자리는 남는 메모리를 쓴다. 그래서 메모리가 거의 다 찬 것처럼 보이는 것이 정상이다. 다른 곳에서 필요하면 그때 내준다.
쓰기도 바로 디스크로 안 간다. 일단 이 자리에 적어 두고 나중에 모아서 내린다. 그래서 쓰기가 빨라 보인다.
대신 갑자기 꺼지면 아직 안 내려간 것이 사라진다. 반드시 남아야 하는 것은 강제로 내리라고 시켜야 한다.
성능을 잴 때 이 자리를 잊으면 숫자가 거짓말을 한다. 두 번째 측정이 빠른 것은 코드가 좋아져서가 아니다.