私はコンパイラを使用していますが、実際にコードを遅くする最適化を書いていました。それを調べると、私は、コード生成プログラムが私の最適化がオフになっているときにHandle(私たちのコンパイラの場合は二重引用符)を使用することに決めたことを知りました。この結果、配列にアクセスするたびに、2番目のケースでもう1つの参照解除命令が発生しました。命令パイプライニング - アーキテクチャシミュレータとパイプラインビジュアライザ
しかし、この1つの命令は、コードの実行時間が驚くほど32%遅くなりました。私はこれが命令パイプライニングと関係があると思っています。この余分な参照解除は、減速を説明する3つの依存命令を引き起こします。
私は同じことを実証する必要があり、パイプライニングに関する詳細情報を得ようとしています。誰かが命令パイプライニング、有用なアーキテクチャシミュレータ、およびパイプラインビジュアライザーについていくつかの優れた資料を提案できれば素晴らしいでしょう。