19 Vectorization and Faster Code Execution

Last-modified: 2025-03-03 (月) 21:33:35

19 ベクトル化とコード実行の高速化

ベクトル化は、要素ごとのループベースの演算の代わりにベクトル演算を使用するプログラミング手法です。ベクトル化により、より簡潔な Octave コードが頻繁に生成されるほか、後続の実装での最適化も向上します。最適化は、Octave の独自の Fortran、C、または C++ 内部実装で行われる場合もあれば、Octave の構築に使用されるコンパイラや外部数値ライブラリに応じて、より低いレベルで行われる場合もあります。最終的な目標は、可能であればハードウェアのベクトル命令を利用するか、ソフトウェアでその他の最適化を実行することです。

ベクトル化は Octave に固有の概念ではありませんが、Octave は行列指向の言語であるため、特に重要です。ベクトル化された Octave コードは、ほとんどの場合、劇的な速度向上 (10 倍~100 倍) が見られます。

この章では、より高速なコードを書くためのベクトル化やその他の手法について説明します。

Basic Vectorization
Broadcasting
Function Application
Accumulation
Memoization
Miscellaneous Techniques
Examples