Раньше я думал так же, как и вы, но я также тщательно отслеживаю время выполнения.После перехода на систему, которая вызывает FileExists несколько раз за запрос, я заметил разницу в 0 мс в миллисекундах, необходимых для загрузки страниц.Вполне вероятно, что любой частый поиск данного файла приведет к его кешированию где-нибудь в системе, драйверах SCSI или оборудовании диска.Еще более вероятно, что время поиска на оборудовании SCSI составляет менее миллисекунды.
Учитывая, что я интенсивно использую cfinclude, неудивительно, что еще один поиск даже не отображается на радаре.
РеальностьЕсли бы у вас не было миллионов файлов в каталоге, или вы запускаете веб-сервер с IDE-дисков или что-то глупое, то это, вероятно, будет иметь больше издержек, чем поиск переменных, но мы, вероятно, говорим о разнице в 0,0001 миллисекунды.Дополнительная сложность кода, вероятно, не стоит экономить, если вы /.или Apple, или что-то.
Тем, кто говорит, что это плохая архитектура, я позволю себе не согласиться.В среднесрочной и долгосрочной перспективе вы можете купить процессоры намного дешевле, чем время разработчиков.Иметь систему, которая требует только изменения файлов, проще, чем изменение файлов И переменных - и иметь дело с дополнительной сложностью.Как и большинство вещей в категории оптимизации, многие задачи, которые экономят несколько MS, могут занимать часы, которые можно потратить на более эффективные меры, такие как улучшение кеша.