Я создаю базовую аналитическую службу, основанную на теории о том, как работает Google Analytics, но вместо запроса фактического изображения я перенаправляю запрос изображения на скрипт, который принимает данные, а затем выводит изображение. Поскольку браузеры будут запрашивать это изображение при каждой загрузке, каждая миллисекунда считается.
Я ищу наиболее эффективный способ вывода файла gif из сценария PHP. Пока что я установил 3 основных метода.
Есть ли более эффективный способ вывода файла GIF 1x1 из сценария PHP? Если нет, то какой из них является наиболее эффективным и масштабируемым?
Три идентифицированных метода
Библиотеки построения изображений PHP
$im = imagecreatetruecolor(1, 1);
imagefilledrectangle($im, 0, 0, 0, 0, 0xFb6b6F);
header('Content-Type: image/gif');
imagegif($im);
imagedestroy($im);
file_get_contents
изображение с сервера и вывод его
$im = file_get_contents('raw.gif');
header('Content-Type: image/gif');
echo $im;
base64_decode
изображение
header('Content-Type: image/gif');
echo base64_decode("R0lGODdhAQABAIAAAPxqbAAAACwAAAAAAQABAAACAkQBADs=");
(у меня сложилось впечатление, что base64 будет быстрее, но я понятия не имею, насколько ресурсоемкой является эта функция; и что file_get_contents, вероятно, будет масштабироваться хуже, так как добавляет еще одно действие файловой системы.)
Для справки, GIF, который я использую здесь: http://i.stack.imgur.com/LQ1CR.gif
EDIT
Итак, причина, по которой я обслуживаю это изображение, заключается в том, что моя аналитическая библиотека создает строку запроса и прикрепляет ее к этому запросу изображения. Вместо того, чтобы анализировать логи, я перенаправляю запрос в PHP-скрипт, который обрабатывает данные и отвечает изображением, чтобы браузер конечного пользователя не зависал и не выдавал ошибку. У меня вопрос: как мне лучше обслуживать это изображение в рамках сценария?