Разработчики FFmpeg заявили о 100-кратном ускорении благодаря рукописному ассемблерному коду

Разработчики проекта FFmpeg вновь заявили о значительном повышении производительности благодаря использованию рукописного ассемблерного кода. Согласно последнему патчу, пользователи могут ожидать «100-кратного ускорения» в кроссплатформенном приложении для транскодирования мультимедиа с открытым исходным кодом. Однако разработчики поспешили уточнить, что заявленные 100x относятся только к одной функции, а не ко всему FFmpeg.

ВАЖНО: FFmpeg ускорился в 100 раз благодаря рукописному ассемблеру
13:55:30 <•haasn> rangedetect8_avx512: 121.2 (100.18x) — возможно, это самое большое ускорение, которое я видел до сих пор
16 июля 2025

«Самое большое ускорение, которое я видел до сих пор»

В ноябре прошлого года мы сообщали о повышении производительности FFmpeg, которое могло ускорить определенные операции до 94 раз. Последний патч с рукописным ассемблерным кодом увеличил производительность функции «rangedetect8_avx512» на 100,73%. Если ваш современный процессор не поддерживает AVX512, вы все равно можете ожидать ускорения на 65,63% благодаря использованию кода rangedetect8_avx2.

Где можно ощутить это ускорение? В последующих твитах разработчики FFmpeg признают: «Это одна функция, которая теперь работает в 100 раз быстрее, а не весь FFmpeg». Позже они уточнили, что эта функция, скорость которой может увеличиться на 100% в зависимости от системы, является «малоизвестным фильтром».

Малоизвестность функции означала, что она не была приоритетной для разработчиков до сих пор. Однако также стало известно, что код фильтра был переписан с использованием концепции SIMD (Single Instruction, Multiple Data) для значительного улучшения параллельной обработки на современных мощных процессорах.

Очевидно, что компиляторы — программы, преобразующие код высокого уровня в ассемблерный (машинный) код — до сих пор не могут конкурировать с рукописным ассемблером. Или, как сегодня написали в Twitter разработчики FFmpeg, «аллокатор регистров в компиляторах отстой».

Изображение: FFmpeg

Проповедники ассемблера

Возвращаясь к золотому веку домашних компьютеров 1980-х и 1990-х, когда системы с фиксированными характеристиками имели жизненный цикл в полдесятилетия и строго ограниченные вычислительные ресурсы, оптимизация рукописного ассемблерного кода играла большую роль в ускорении компьютеров, игр и другого ПО.

FFmpeg, пожалуй, один из немногих оставшихся «проповедников ассемблера». Команда разработчиков даже ведет «школу».

Инструменты и библиотеки FFmpeg работают на Linux, macOS, Microsoft Windows, BSD, Solaris и других системах. Один из самых популярных видеоплееров, VLC, использует библиотеки libavcodec и libavformat из проекта FFmpeg.

Источник: Tomshardware.com

Подписаться на обновления Новости / Технологии
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ

В статье есть ошибки или у вас есть вопрос? Попробуйте спросить нашего ИИ-помощника в комментариях и он постарается помочь!

⚠️ Важно:

• AI Rutab читает ваши комментарии и готов вам помочь.
• Просто задайте вопрос 👍
• ИИ может давать неточные ответы!
• ИИ не скажет «Я не знаю», но вместо этого может дать ошибочный ответ.
• Всегда проверяйте информацию и не полагайтесь на него как на единственный источник.
• К ИИ-помощнику можно обратиться по имени Rutab или Рутаб.


0 комментариев

Оставить комментарий


Все комментарии - Технологии