сжатие изображений

Дня доброго Вам. Нашел код на просторах интернета. Соединил его воедино с загрузкой картинок на сервер, но не устраивает скорость, с которой выполняется данная функция. Чем больше вес файла, тем дольше выполняется функция. Оно вроде и понятно, но может можно как то оптимизировать ? Или подскажите аналог. Спасибо.

public static function resize_photo($filesize,$type,$tmp_name)
{
    $size = 648576; 
    if($filesize>$size){
        switch($type){
            case 'image/jpeg': $source = imagecreatefromjpeg($tmp_name); break; 
            case 'image/png': $source = imagecreatefrompng($tmp_name); break; 
            default: return false;
        }
        imagejpeg($source, $tmp_name, 80); 
        imagedestroy($source);
        return true;
    }

}

Ответы (2 шт):

Автор решения: Sasha Javorski

Используйте mozjpeg, не скажу будет ли она быстрей против imagejpeg функции(которую я не использовал никогда) но точно уверяю вас что mozjpeg одна из лучших библиотек в сравнении скорости сжатия и качества или используйтесь простейшим вариантом апнув сервер.

→ Ссылка
Автор решения: Александр Беглов

Поделюсь своим опытом сжатия картинок... Сначало приходилось вручную перижимать все картинки через Фотошоп. Самый бесплатный кстати вариант (если не считать стоимость лицензии на Фотошоп). Но очень много времени этот процесс занимает, если картинок на сайте больше 10-20. Ведь каждую картинку надо вручную обрабатывать, а потом еще на сайт выкладывать заново. Утомительный такой процесс... Теперь использую этот сервис - https://optipic.io/ Экономит много времени) Работает сам по себе - автоматически - только 1 раз его надо к сайту подключить. Гугл доволен)

→ Ссылка