Я обнаружил, что начинающие программисты часто имеют слабую интуицию или усваивают неправильные уроки о скорости доступа к файлам.
Очень новые программисты предполагают, что файлы очень быстрые и нуждаются в помощи, чтобы понять, почему чтение одного байта за раз из небуферизованного файла - плохая идея. Точно так же доступ к информации каталога может быть очень медленным и должен быть кэширован, если это возможно.
К сожалению, некоторые более опытные программисты усваивают неправильный урок и предполагают, что все всегда должно кэшироваться в ОЗУ, иначе это будет слишком медленно. Современные операционные системы имеют очень сложные дисковые кэши, поэтому второй раз, когда вы обращаетесь к одной и той же части файла, может быть значительно быстрее.
Наконец, интерактивные программы должны выполнять все файловые операции в другом потоке, чтобы ваше приложение не замедлялось до сканирования и не прекращало работу, когда диск занят или когда удаленный том временно недоступен.