30
「これまで見た中で最大の高速化」— FFmpeg 開発者は、… のおかげでさらに 100 倍の高速化を実現したと自慢しています。
FFmpegのアップデートにより、一部の操作が100倍高速化される可能性があります
(画像提供:FFmpeg)

FFmpegプロジェクトの開発者たちは、手書きのアセンブリコードの技術を駆使することで、大幅なパフォーマンス向上を実現したと再び主張しています。最新のパッチを適用すると、クロスプラットフォーム対応のオープンソースメディアトランスコーディングアプリケーションで「100倍の高速化」が実現するはずです。しかし、開発者たちはすぐに、この100倍という主張は「FFmpeg全体ではなく、単一の関数にのみ適用される」と明言しました。

速報:FFmpegが手書きアセンブリから100倍高速化13:55:30 <•haasn> rangedetect8_avx512: 121.2 (100.18倍) これは私がこれまで見た中で最大の高速化かもしれません2025年7月16日

「これまで見た中で最大のスピードアップ」

昨年11月、FFmpegのパフォーマンス向上により、特定の処理が最大94倍高速化されることを報告しました。最新の手書きアセンブリパッチにより、アプリの「rangedetect8_avx512」のパフォーマンスが100倍向上します。最新のプロセッサがAVX512をサポートしていない場合でも、rangedetect8_avx2コードパスを使用することで64%のパフォーマンス向上が期待できます。

こうした速度向上はどこで実感できるのでしょうか?FFmpegの開発者はその後のツイートで、「FFmpeg全体が100倍高速になったのではなく、1つの機能が100倍高速になった」と認めています。さらに彼らは、システムによっては100%の速度向上が期待できるこの機能は「あまり知られていないフィルター」だったと説明しています。

この関数の知られざる性質は、これまで開発者が優先的に検討していなかったことを意味します。しかし、このフィルターコードはSIMD(単一命令複数データ)処理コンセプトを用いて再コーディングされ、今日の高性能チップにおける並列処理を大幅に向上させたことも推測できます。

明らかに、コンパイラ(高水準言語のコードを受け取ってアセンブリ(マシン)コードを出力するプログラム)は、手書きのアセンブリ言語にはまだ太刀打ちできません。あるいは、FFmpegが本日ツイートしたように、「レジスタアロケータはコンパイラには向いていない」とも言えるでしょう。

FFmpegのアップデートにより、一部の操作が100倍高速化される可能性があります

(画像提供:FFmpeg)

アセンブリ言語の福音主義者

1980 年代から 1990 年代の家庭用コンピュータの黄金時代を思い起こさせるのは、固定仕様のシステムのライフサイクルが 5 年単位で、処理リソースが厳しく制限されていた時代で、手書きのアセンブリ コードの最適化が、コンピューター、ゲーム、その他のソフトウェアの高速化に大きな役割を果たしていたことです。

FFmpegは、おそらく数少ない「アセンブリの伝道師」の一つです。開発チームは「スクール」も運営しています。

Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。

FFmpegのツールとライブラリは、Linux、Mac OS X、Microsoft Windows、BSD、Solarisなどのシステムで動作します。最も人気のあるビデオプレーヤーソフトウェアユーティリティの1つであるVLCは、FFmpegプロジェクトのlibavcodecおよびlibavformatライブラリを使用しています。

Google ニュースで Tom's Hardware をフォローすると、最新のニュース、分析、レビューをフィードで受け取ることができます。「フォロー」ボタンを忘れずにクリックしてください。

マーク・タイソンはトムズ・ハードウェアのニュース編集者です。ビジネスや半導体設計から、理性の限界に迫る製品まで、PCテクノロジーのあらゆる分野を網羅的にカバーすることを楽しんでいます。