Если загружен mod_deflate и вы можете контролировать конфигурацию apache, то вы должны позволить apache выполнять сжатие вывода.Сжатие в php всегда будет медленнее.Вот мой рекомендуемый конфиг для вашего htaccess:
<IfModule mod_deflate.c>
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
</IfModule>
Я думаю, что черный список более эффективен в этом случае, так как существует очень мало типов файлов, которые вы не хотите сжимать.Таким образом вы сжимаете все остальное, даже те типы файлов, которые не можете вспомнить, чтобы добавить их в белый список.