最近、x86プレゼンテーションで書かれていて、プレフィックス付きのストリング命令が現代プロセッサで実際に性能を発揮しているかどうか、後方互換性のために実装されました。近代的な(パイプライン型/スーパースカラ型)プロセッサのx86リコメンデーションのパフォーマンス
私は、プロセッサが一度に1つの命令だけを実行したときにインテルが最初にrep命令を実装していたのはなぜか理解できますが、今ではその利点がありますか?
さらに多くの命令にコンパイルされたループでは、パイプラインをいっぱいにしたり、順序が乱れることがあります。現代のプロセッサは、これらのプレフィックス付きの命令を最適化するために構築されていますか?または、製造元にとって重要ではない最新のコードではrep命令はほとんど使用されていませんか?
私は5年のようにこれを調べていませんでしたが、私の個人的な経験では、少なくとも、movsdとrep stosdは単純なループよりも高速でしたが、いくつかのスキャン方法はそうではありませんでした。しかし、それ以来、大幅に変化している可能性があります。 –
異なるプロセッサーでテストを行い、自分で確認してください。 –
入力いただきありがとうございます。アレックス:私はおそらく最終的には、私はそれを試すために多くのprocsを持っていないので、それは実際のprocとパイプラインを持たないエミュレータになるでしょう。また、私は怠け者であり、誰かが既にそれをしているのであれば、むしろその仕事をしないだろう。 :) – RyanS