C에서 파일 존재 확인 최적화
파일 존재 확인은 프로그래밍의 기본 작업이며, 특히 대규모 세트로 작업할 때 더욱 그렇습니다. 파일. C에서는 이 작업을 위해 다양한 성능 특성을 지닌 여러 가지 방법이 존재합니다.
가장 효율적인 방법을 결정하기 위해 각 방법을 100,000번(기존 파일에서 절반, 절반은 기존 파일에서) 실행하는 테스트 프로그램을 사용하여 벤치마크를 수행했습니다. 존재하지 않는 파일. 결과(5번 실행에 대한 평균)는 다음과 같습니다.
Method | Time |
---|---|
ifstream | 0.485s |
FILE fopen | 0.302s |
posix access() | 0.202s |
posix stat() | 0.134s |
결과에서 알 수 있듯이 posix stat()는 100,000번의 검사를 완료하는 데 단 0.134초가 걸리는 가장 빠른 방법으로 나타납니다. 이 방법은 stat 시스템 호출을 활용하여 파일 존재 여부를 포함하여 파일에 대한 정보를 얻습니다.
exist 함수에서 posix stat()를 구현하려면 다음 코드를 사용할 수 있습니다.
inline bool exist(const std::string& name) { struct stat buffer; return (stat (name.c_str(), &buffer) == 0); }
posix stat()을 활용하면 C 프로그램에 파일이 있는지 효율적으로 확인할 수 있습니다. 이 방법은 속도가 전체 처리 시간을 크게 단축할 수 있으므로 대용량 파일 세트를 처리할 때 특히 유용합니다.
위 내용은 C에서 파일 존재를 확인하는 가장 빠른 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!