Если Вы о file_exists который в php то тут и сравнивать не нужно.
Проверка на уровне веб сервера и проверка с запуском php. Вроде как само должно говорить за себя.
Я думаю, это больше зависит от скорости файловой системы (размера кеша и т.д.). Просто по-моему в этом решении экономия по скорости не настолько ощутима, что бы применять эти непонятные файлы конфигов и настройки сервера. Почему бы не создавать миниатюры на этапе обработки шаблона?
Если создавать миниатюры на этапе обработки шаблона, то время генерации страницы будет расти в зависимости от количества изображений на ней и их качества. Легко добиться реальной ситуации когда пользователь просто может не дождаться загрузки страницы
Ну так страницу же php и создает. он в любом случае запускается. Может вы просто не совсем поняли мою мысль. Я хотел бы понять насколько будет дольше работать иной алгоритм и есть ли смысл вообще делать так как автор.
То что я имел ввиду:
В шаблоне пишем {{ image|thumb(«200x200», { «watermark»: «right bottom», «grayscale»: true }) }} (это пример из статьи)
На основе этих параметров обработчик создает хеш (можно приплюсовать timestamp для гарантированной уникальности). Получается имя файла превью. Если этого файла не существует (вот тут проверка file_exists), он создается. При следующем выводе этого файла ничего создаваться не будет, а просто подставится хеш в src. Клиент же получает ссылку на уже готовый созданный файл и пропадает необходимость в доп настройках сервера.
Конечно, загрузка сайта будет медленнее при появлении новых картинок, но только один раз и только у того пользователя кто первым загружает страницу с новыми картинками. А на сайтах где картинки добавляются массово и нагрузки огромные, ни мой, ни автора вариант не прокатит. Там либо превью создается еще на этапе загрузки картинки, либо php вообще не участвует в этом.
Действительно, не так понял. Как вы предлагаете, тоже имеет право на жизнь и реализация в целом будет проще. Но вы правильно описали минусы: при большом кол-ве картинок пользователь увидит страницу немного позже.
Не маловато ли будет 2х уровневой структуры? У меня /d/1/7/d17e248758722c42d8c88d21d8b538d7.jpg и некоторые папки имеют больше сотен файлов. Хотя тут конечно от проекта зависит.
Простое решение для обработки изображений на лету с кешированием результата