이 질문은이 주제에 따라된다 : 난 그냥 XP/Vista에서 fsutil.exe를 확인 creating a huge dummy file in a matter of seconds in c#왜 fsutil.exe는 프로그램 적으로 디스크에 거대한 파일을 기록하는 데 시간이 덜 걸리는가?
은/일곱 저장 디스크에 더미 데이터의 엄청난 금액을 작성하고 그것을 작성하는 시간이 덜 걸립니다 같은 큰를 파일을 프로그래밍 방식으로 비교합니다.
나는 그것이 fsutil.exe
노트보다 훨씬 더 많은 시간이 걸릴 것 그물의 도움으로 같은 일을 할 노력하고있어 때 나는 그물이 그 bcuz 네이티브 코드를 사용하지 않는 것을 알고있다 방금 다음과 같이 기본 API로이 문제를 확인했습니다.
long int size = DiskFree('L' - 64);
const char* full = "fulldisk.dsk";
__try{
Application->ProcessMessages();
HANDLE hf = CreateFile(full,
GENERIC_WRITE,
0,
0,
CREATE_ALWAYS,
0,
0);
SetFilePointer(hf, size, 0, FILE_BEGIN);
SetEndOfFile(hf);
CloseHandle(hf);
}__finally{
ShowMessage("Finished");
exit(0);
답변은 .net 결과와 동일합니다. 40 초 같은 양 ~이 소요됩니다 .NET을 4백메가바이트을을 writting에 대한 :
하지만 fsutil.exe의 도움으로 그것은 단지 위 또는 .net 방식보다 적은 시간을 소요
는 2 회 예를 빠른 말 fsutil.exe는 약 20 초 정도 걸립니다.여기에 대한 설명이 있습니까? 또는 fsutil.exe가이 중요 속도를 쓰는 함수를 사용합니까?
"holey"파일이라는 용어는 "스파 스"이다. –
나는 항상 holey를 선호 해왔다. (그것은 원래 유닉스 용어 인 way-back-when이다.) 그러나 나는 그것을 pedants를 위해 희소하게 바꾸었다. – RickNZ