Это абсолютно несопоставимые вопросы.
Изменение размера изображений на лету фактически похоже на выполнение DoS-атаки на ваш собственный сервер. Изменение размера одного обычного образа требует больше процессора и оперативной памяти, чем обслуживание одного обычного запроса к php-скрипту. Это уже огромное влияние на производительность. Все же обычная миниатюра показывается не в одиночку, а в цифрах. Таким образом, показывая только одну страницу галереи, вы создаете десятки процессов с высокой нагрузкой, увеличивая нагрузку на сервер в десять и более раз.
Быстрый и грязный тест, чтобы доказать мои слова:
Давайте попробуем изменить размер относительно небольшого, 1,3-мегапиксельного изображения
$ /usr/bin/time --format="%MK mem %Es CPU time" /usr/bin/convert angry_birds_1280x800.jpg -resize 100x100 thumb.jpg
10324K mem 0:00.10s CPU time
Это заняло у нас 0,1 с, поэтому показ 10 предварительных изображений потребует целую секунду вашего процессорного времени. В то время как правильно написанная страница галереи PHP займет около 0,01 с. Таким образом, изменяя размер на лету, вы увеличиваете нагрузку на сервер в 100 раз.
То же самое с памятью. Каждый процесс изменения размера потребляет не менее 10 МБ памяти (для изменения размера файла изображения 100 КБ!) С общей суммой 100 МБ. В то время как обычный предел памяти для сценария PHP составляет всего 8 МБ, он редко достигается.
Это цифры из реальной жизни.
Несколько забавная вещь, связанная с этой проблемой:
Точно такой же пользователь PHP , который с легкостью выбрасывает 1000000 циклов ЦП и в то же время невероятно ревнив, чтобы сэкономить 1 или 2! Это не фигура речи, вот пример того, о чем я говорю:
аналогичный вопрос от кого-то, чье большое беспокойство в то же время ничтожно мало, как разница в скорости между константами, переменными или массивами переменных . А кто недавно столкнулся с проблемой разрешенного объема памяти , как будто такой катастрофы было недостаточно.
На этом сайте есть тонны вопросов и ответов, обсуждающих разницу в скорости наносекундной скорости любых операций, отвечающих с неисчерпаемым достоинством, выполняющих тесты миллионов итераций, чтобы показать абсолютно ничтожную разницу между однократными операциями нескольких циклов ЦП каждая.
И в то же время есть такие вопросы - относительно огромной, несравненной разницы в показателях эффективности между двумя подходами, которая выглядит просто равной автору.
Это проблема среднего пользователя PHP и этого сайта.
Первые просто не в силах отличить микроскопические вещи от реальных.
И все же у последних нет механизма проверки правильности ответов на вопросы - каждый ответил с одинаковым энтузиазмом, даже если два вопроса противоречат друг другу (и оба имеют здравый смысл).