今年の夏はどうやら冷夏なようで、暑い日がそんなになかった感じ
まだ夏は終わってないんですけどね。
さて、今回はCPUの演算速度の中で「乗算と除算、どちらが高速か」ということを調べてみたかったので、これを計測するプログラムを作りました。
仕組みはいたって簡単で、ループ毎に各演算をして、その演算にかかった時間を計測するだけです。
ソースコードは以下のとおりです。
これをコンパイルして実行してみます。
実行環境
メモリ : 16GB
すると、以下のような結果が出ました。
このように、各四則演算の中でも、乗算が最も早く、除算が最も遅いことがわかります。
加算と減算はどちらも同じぐらいに見えますが、やや減算のほうが高速なようです。
では、ここで最適化オプションを適用して、再度コンパイルしてみます。
実行環境
メモリ : 16GB
すると、以下のような結果となりました。
このように、最適化オプションを設定すると、四則演算は高速化しますが、加算だけあまり最適化されないようです。
特に、除算に関してはかなり高速化しており、加算や減算よりも速くなっていることがわかります。しかし、乗算に関してはあまり高速化されていないようです。
私が今回調べたかったことは、「乗算と除算、どちらが高速か」ということです。
これらの結果から、除算よりも乗算のほうが高速であることがわかりました。
除算は乗算に比べて計算速度が遅いですが、最適化オプションによっては若干高速化を期待できます。
一方、乗算に関しては高速ですがO3の最適化オプションの恩恵はあまり得られないようです。