● 実行速度について - 乗除算を避ける・変更する

ビットシフトへの置き換え

ビットシフトへの置き換えは、一般的にも良く用いられている方法です。

乗除算は他の処理と比べるとかなり低速なので、fixed X では速度の安定よりも、なるべく速くする事を優先しています。そのため、条件によっては速度が変化します。2n の場合もその内の一つで、乗数、除数が 2n である時は、内部処理をビットシフトに切り替えて演算を行います。
この理由のため、乗数、除数が 2n 以外の値にもなる可能性がある変数の場合は、呼び出し側で値の検査とビットシフトに置き換えても、大きな効果は得られないかもしれません。

定数の場合、もしくは、絶対に 2n の値にしかならない事が事前に判っている変数の場合は、関数内部の検査がオーバーヘッドになるので、ビットシフトに置き換えた方が良いでしょう。