最近、プログラミングの実践、設計などについて多くの記事を読んでおり、乗算をビットシフトとして実装することによる実際のパフォーマンスの向上について興味がありました。ビットシフトを使用した高速乗算による性能向上
私が読んでいた例は、よく使われているルーチンでx * 320を(x < < 8+ x < < 6)として実装することを奨励していました。
これは現代のコンパイラとどのように関連していますか?パフォーマンスが大幅に向上した場合、コンパイラはこれらの「簡単な乗算」を必要に応じて自動的にビットシフトに変換できませんか?
高速乗算を実現するために誰もこの方法でビットシフトに頼らざるを得ませんでしたか?どのようなパフォーマンスの向上が期待できますか?
あなたは「どのような性能向上が期待できますか?」と尋ねているので、この種の議論は本当にあなたを誤解させる可能性があります。*あらゆる種類のマイクロ最適化は、コンパイルするCPUループ実際に多くの使用を参照してください。これは、非常に特殊なコードカテゴリです。人々がコンパイルするほとんどのアプリケーションは、システムライブラリ、I/O、DBアクセスなどでほぼすべての時間を費やします。スタックに収まる関数呼び出しを大部分削除することによってのみ最適化できます。コンパイラはあなたのためにそれを行うことはできません。 –
便利な情報ありがとうございました。 – 8bitcartridge