[devel] libjpeg7 - пора?

Victor Forsyuk force at altlinux.org
Mon Aug 24 00:01:05 MSD 2009


2009/8/23 Alexander Bokovoy <ab �� altlinux.org>

> 2009/8/23 Victor Forsyuk <force �� altlinux.org>:
> >
> > http://trac.imagemagick.org/browser/jpeg/trunk/change.log
> >
> > Рано или поздно перейдем. Предлагаю задуматься о том, не начать ли
> движение
> > уже сейчас...
> Поскольку я проводил исследование на работе по переходу на libjpeg7,
> то поделюсь результатами.
> 1. ABI иное. Нужна пересборка.
> 2. API отличается в месте загрузки с одновременным масштабированием. В
> jpeg7 можно указывать более широкий диапазон коэффициентов для
> масштабирования и это "выбивает" некоторые приложения. В частности,
> сломался gdk pixbuf jpeg loader так, что при определенных сочетаниях
> исходного файла и запрашиваемого разрешения получается мусор вместо
> картинки. Чинится однострочным патчем.
> 3. Скорость новых оптимизированных DCT и iDCT на современных
> процессорах уступает на 10-15% "неоптимизированным" вариантам из
> jpeg6b. Серьезную роль в этой разнице играет организация предсказания
> переходов и использование кэшей первого-второго уровней в современных
> процессорах. Проигрыш одинаково заметен на x86 и ARM.  Математические
> оптимизации в jpeg7, направленные на уменьшение количества умножений,
> оказываются невыгодными для современных процессорных архитектур,
> особенно с использованием векторных инструкций -- массовые параллелизм
> с умножениями обходится дешевле провалов по спекулятивному
> предсказанию переходов.
> 4. Оба варианта jpeg6b и jpeg7 проигрывают по скорости
> SIMD-оптимизациям jpeg6b от скромных японцев. Оптимизированный вариант
> в среднем в 2-3 раза быстрее jpeg6b. Все они на ARM проигрывают
> специализированым кодекам и декодерам на DSP (jpeg6b -- в среднем в
> 4-4.5 раза). Думаю, что аналогичный проигрыш и на Cell B.E. На
> x86/x86_64 без использования GPU явно выгодно использовать
> векторизацию, чем новые математически оптимальные алгоритмы. С GPU не
> все очевидно, потому что синхронизацию памяти для CPU/GPU никто не
> отменял.
>
>
Однако идти в ногу с прогрессом нам придется, отсидеться в окопах с libjpeg6
не получится - из-за этой вот строчки в ченжлоге:
*Support arithmetic entropy encoding and decoding.*
----------- ????????? ????? -----------
???????? ? ??????? HTML ???? ???????...
URL: <http://lists.altlinux.org/pipermail/devel/attachments/20090823/42dc5da6/attachment.html>


More information about the Devel mailing list