Überprüfen Sie das Bestehen mehrerer Dateien mit STD: Dateisystem :: exist ist schneller als die Verwendung einer Reihe
Posted: 13 Apr 2025, 01:31
Ich möchte wissen, ob das Überprüfen von Multiplikatoren in einem Verzeichnis mithilfe eines std :: uncondeded_set von Dateiennamen mit std :: fileSystem :: Directory_iterator schneller als die Verwendung von std :: atresystem :: exist ist. In meinem Kontext gibt es einen Vorteil, dies zu tun?
Code: Select all
#include
#include
void download_file(const std::string& file_name){
// download file and save on directory
}
int main(){
std::unordered_set existing_files;
// adding files of directory to the set
for (const auto& entry : std::filesystem::directory_iterator()) {
existing_files.insert(entry.path().filename().string());
}
auto files_to_check = { "file1.txt", "file2.txt", ... };
for (const auto& file_name: files_to_check) {
if (existing_files.contains(file_name)) { // std::filesystem::exists(file_name)
continue;
}
download_file(file_name);
}
return 0;
}