Разработчики мультимедийного проекта FFmpeg добились значительного прироста производительности. Так, благодаря оптимизации с использованием инструкций AVX-512 и написанного вручную кода на ассемблере одна из функций стала работать в 100 раз быстрее. Сами создатели проекта отмечают, что пока ускорение затрагивает лишь один компонент, но улучшения ожидаются и в других частях FFmpeg. Добиться такого прироста в производительности позволила низкоуровневая оптимизация, о чём стоит рассказать поподробнее. Напомним, что язык ассемблера даёт программистам почти прямой доступ к инструкциям процессора, что позволяет выжать из «железа» максимальную производительность. Этот подход помогает обойти ограничения компиляторов, которые, по словам разработчиков FFmpeg, не всегда оптимально распределяют ресурсы. Команда проекта настолько привержена этому методу, что даже создала онлайн-школу по его применению. В недавно опубликованном патче уточняется, что 100-кратное ускорение получила функция rangedetect
Популярный медиафреймворк FFmpeg ускорили в 100 раз благодаря коду на ассемблере
18 июля 202518 июл 2025
25
1 мин