2010-08-01 10 views
2

하드 디스크 속도는 어떻게 찾을 수 있습니까? 나는 System.IO.File.Copy을 사용할 수 없으며 하드 디스크 속도를 얻기 위해 타이머를 사용한다. 왜냐하면 파일을 캐싱 한 후에는 속도가 실제로 실시간보다 높기 때문이다.하드 디스크 속도는 어떻게 찾을 수 있습니까?

대신 무엇을 할 수 있습니까?

+1

어떤 속도가 필요합니까? 독서? 쓰다? 잇달아 일어나는? 무작위? – Oded

+0

쓰기 속도? 가능하면 FileCopy? – pedram

답변

2

파일을 기록한 후 후속 읽기 속도가 예상보다 훨씬 높은 이유는 파일이 기록 될 때 파일이 디스크 시스템 캐시에 OS에 의해 캐시된다는 것입니다. 후속 파일 읽기는 실제로 디스크가 아닌 메모리에서 읽혀집니다.

FILE_FLAG_NO_BUFFERING 플래그 활용하여 OS 디스크 캐시를 우회하기위한 솔루션을 제공하는이 코드 프로젝트 문서를 참조하십시오 : OS 디스크 캐싱을 피하기 위해 상황에

http://www.codeproject.com/KB/files/unbuffered.aspx

이 솔루션을 사용할 수 있습니다, 그리고 그래서 "진짜"디스크 속도를 얻으십시오.

0

"실시간"에 관해 묻습니다. 실제 캐시에서는 사용 중이므로 어떤 문제도 보이지 않습니다. 일부 File.Copy 또는 다른 간단한 테스트 대신 프로그램을 실행하기 위해 일부 스크립트 또는 유사한 도구를 사용하려고 할 수 있습니다.

하지만 진짜 질문은 무엇입니까? 나는. 일부 디스크가 충분히 빠르지 않거나 프로그램의 속도가 빠르지 않은지 알아 내려고 노력하고 있습니까?

관련 문제