FFmpeg получил 100-кратный прирост скорости благодаря ручной оптимизации
Разработчики библиотеки FFmpeg сообщили о значительном ускорении работы одной из функций, вплоть до 100 раз, благодаря ручной оптимизации на низкоуровневом языке программирования ассемблер. Правда, речь идёт не о всей программе, а лишь об отдельной функции.

В ноябре 2024 года уже упоминалось о 94-кратном ускорении определённых операций в FFmpeg. На этот раз, как стало известно Tom's Hardware, улучшения коснулись функции rangedetect8_avx512, чья производительность выросла на 100,73%. Для процессоров без поддержки AVX512 доступен менее значительный, но тоже заметный прирост — 65,63% через реализацию rangedetect8_avx2.
Пользователи, комментируя новость в X, спрашивали, как именно они узнают, что произошли улучшения. Разработчики FFmpeg пояснили, что это касается одного из малоизвестных фильтров, который ранее не был в приоритете для оптимизации. Впоследствии они добавили, что эффективность этого фильтра может увеличиться вдвое, в зависимости от производительности системы.
Оптимизация была выполнена с использованием принципа SIMD (Single Instruction, Multiple Data), который позволяет обрабатывать несколько данных одной командой. Это сделало обработку на современных процессорах значительно более эффективной. Разработчики также отметили, что компиляторы, преобразующие код высокого уровня в машинный, пока не могут конкурировать с ручной записью на ассемблере. В одном из твитов FFmpeg сформулировал это коротко: «аллокатор регистров в компиляторах работает неидеально».
В целом применённый подход напоминает эпоху 1980–х 1990-х годов, когда ручная оптимизация ассемблера была ключевым инструментом для повышения производительности программ, особенно в играх и ресурсоёмких приложениях. Сегодня FFmpeg остаётся одним из немногих проектов, где такие методы всё ещё активно применяются.
Напомним, FFmpeg используется в самых разных операционных системах, включая Linux, macOS, Windows и BSD. Его библиотеки, такие как libavcodec и libavformat, лежат в основе многих медиаплееров, включая VLC.
Добавьте Hdhai в избранное и вы будете чаще видеть наши последние новости на главной Дзена и в разделе «Новости партнёров» или читайте нас в Telegram в привычном для вас формате.