「性能最適化」の記事一覧
-
構造体最適化でdav1dのデコード性能を改善
2025-05-24 23:24
IT・ネット動画デコーダーdav1dの構造体サイズ最適化により、CPUキャッシュ効率を高め、4K動画で約1%、1080pで最大3%の性能向上が達成されました。具体的には、構造体のフィールド順序の見直し、列挙型のサイズ制限、int型からuint16_tへの変換などが行われ、CPUキャッシュラインに収まるように調整されています。この改善は64bit環境においてより効果的で、既存のCコンパイラの最適化だけに頼らず、手動による調整が効果を発揮した事例です。
-
Javaアプリの起動を高速化する新手法:JEP 515
2025-05-11 14:43
科学・技術JEP 515は、Javaアプリケーションの起動時に過去の実行プロファイルを即座に利用可能にし、JITコンパイラによるネイティブコード生成を迅速化する試みです。これにより、従来のウォームアップ期間が短縮され、アプリケーションはより早くピークパフォーマンスに到達可能となります。従来のAOTキャッシュにプロファイル情報を加えることで、初期実行中に再度プロファイリングを行う必要性を減らします。追加コストは小さく、利点は大きいとされています。
-
継承は性能改善のために発明された
2025-05-06 10:59
科学・技術継承(inheritance)はオブジェクト指向の基本概念として知られていますが、Simula言語でその発明に至った背景は、当初のメモリ管理制限に対応するための性能改善手段でした。Simulaでは手動メモリ管理の柔軟性が不足していたため、簡易なGCと参照カウントを採用しましたが、それにより関数やラベルの引数化が制限されました。その代替として導入されたのが「プレフィックス(継承)」で、もともとは侵入型リスト構造を実現するための実装上の工夫に過ぎなかったのです。
-
メモリアクセスがプログラム性能に与える影響とは
2025-05-05 03:29
科学・技術アルゴリズムの性能を評価する際に使う「Big O」記法は便利ですが、メモリアクセスの違いまでは考慮しません。現代のCPUは階層的なキャッシュ構造とプリフェッチ機能を備えており、アクセス順によって処理速度が大きく異なります。この記事では、メモリを連続して読む場合とランダムに読む場合での処理時間の差を実験を通じて検証。配列の使い方やデータ構造の選択が、性能に大きな影響を与えることを示しています。