[devel] libjpeg7 - пора?
Victor Forsiuk
force на altlinux.org
Пн Июл 5 15:14:35 UTC 2010
2010/5/8 Денис Смирнов <mithraen на altlinux.ru>
> On Sun, Aug 23, 2009 at 09:53:13PM +0300, Alexander Bokovoy wrote:
>
> Прошел почти год. Так что у нас будет с libjpeg? :)
>
Нового libjpeg у нас в обозримом будущем не будет. Это очевидно чуть более
чем полностью.
В свете же выпуска LTS релизов остается только очень сильно надеятся на то,
что в ближайшие годы мейнстримные дистрибутивы будут раскачиваться и
окончательно переключатся на новую libjpeg не так скоро. И, соответственно,
до наступления end-of-life нашего LTS дистра арифметическое кодирование не
станет массовым.
Напомню, libjpeg-6b не умеет arithmetic coding и такие джипеги просто не
сможет декодировать.
В чем плюс арифметического кодирования для пользователя - он создает файлы
меньшего размера. Заметно меньшего. На мой взгляд, это с лихвой перевешивает
некоторое отставание в скорости новых алгоритмов. В реальной жизни мы
получим более быстрое открытие файлов - уменьшение времени считывания с
диска с лихвой перекрывает чуть более медленное декодирование. Про загрузку
по сети я уж вообще молчу...
>
> AB> Поскольку я проводил исследование на работе по переходу на libjpeg7,
> AB> то поделюсь результатами.
> AB> 1. ABI иное. Нужна пересборка.
> AB> 2. API отличается в месте загрузки с одновременным масштабированием. В
> AB> jpeg7 можно указывать более широкий диапазон коэффициентов для
> AB> масштабирования и это "выбивает" некоторые приложения. В частности,
> AB> сломался gdk pixbuf jpeg loader так, что при определенных сочетаниях
> AB> исходного файла и запрашиваемого разрешения получается мусор вместо
> AB> картинки. Чинится однострочным патчем.
> AB> 3. Скорость новых оптимизированных DCT и iDCT на современных
> AB> процессорах уступает на 10-15% "неоптимизированным" вариантам из
> AB> jpeg6b. Серьезную роль в этой разнице играет организация предсказания
> AB> переходов и использование кэшей первого-второго уровней в современных
> AB> процессорах. Проигрыш одинаково заметен на x86 и ARM. Математические
> AB> оптимизации в jpeg7, направленные на уменьшение количества умножений,
> AB> оказываются невыгодными для современных процессорных архитектур,
> AB> особенно с использованием векторных инструкций -- массовые параллелизм
> AB> с умножениями обходится дешевле провалов по спекулятивному
> AB> предсказанию переходов.
> AB> 4. Оба варианта jpeg6b и jpeg7 проигрывают по скорости
> AB> SIMD-оптимизациям jpeg6b от скромных японцев. Оптимизированный вариант
> AB> в среднем в 2-3 раза быстрее jpeg6b. Все они на ARM проигрывают
> AB> специализированым кодекам и декодерам на DSP (jpeg6b -- в среднем в
> AB> 4-4.5 раза). Думаю, что аналогичный проигрыш и на Cell B.E. На
> AB> x86/x86_64 без использования GPU явно выгодно использовать
> AB> векторизацию, чем новые математически оптимальные алгоритмы. С GPU не
> AB> все очевидно, потому что синхронизацию памяти для CPU/GPU никто не
> AB> отменял.
> AB>
> AB> --
> AB> / Alexander Bokovoy
> AB> _______________________________________________
> AB> Devel mailing list
> AB> Devel на lists.altlinux.org
> AB> https://lists.altlinux.org/mailman/listinfo/devel
> --
> С уважением, Денис
>
> http://mithraen.ru/
>
> ----------------------------------------------------------------------------
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.10 (GNU/Linux)
>
> iEYEARECAAYFAkvkjl4ACgkQPuR8c4jhFKL51QCgvLITyqUu1axN+BhnVaZkvkAy
> to0AmQGQAK/872JCF8+JOQkyEVi/0+F4
> =E4j2
> -----END PGP SIGNATURE-----
>
> _______________________________________________
> Devel mailing list
> Devel на lists.altlinux.org
> https://lists.altlinux.org/mailman/listinfo/devel
>
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20100705/5561486b/attachment.html>
Подробная информация о списке рассылки Devel