|
매번 write를 하지 마시고
일정단위 (512 or 1K)로 버퍼에 저장했다가 write하시면 될것 같습니다.
write의 호출 회수를 줄이셔야 합니다.
김정열 님이 쓰신 글 :
:
: 파일 오픈 직후 lseek함수로 위치를 지정하시고, for문에서는 제거를 해보심이 좋을 것 같습니다.
:
: 공부중 님이 쓰신 글 :
: : DWORD dwData ;
: : int Xvalue, Yvalue;
: : int j = 0;
: : int handle;
: : Xvalue = 0;
: : Yvalue = 1;
: :
: : handle = open("쓰기 위치", O_WRONLY | O_CREAT | O_BINARY , S_IWRITE | S_IREAD);
: : for(j = 0 ; j < 300000 ; j++)
: : {
: : dwData = ((long)Xvalue<<16) | (Yvalue);
: : lseek(handle,0L,SEEK_END);
: : write(handle,&dwData,sizeof(dwData));
: : }
: : close(handle);
: :
: :
: :
: : 안녕하세요 위에 소스인데요.
: :
: : 300000개의 데이터를 "쓰기위치" 파일에 쓰는데
: : open ~ close 까지 대략 2초가 넘게 걸리는 것 같습니다.
: : 파일 용량은 약 1.2 메가바이트 정두 됩니다.
: :
: : 시간을 단축시킬 수 있는 방법이 없을까요? ㅜ.ㅡ
: : 효율적인 방법이 있으면 조언 부탁드리겠습니다 (__).
: : 고맙습니다.
|