2017-04-08 7 views
1

私はできるだけコードを最適化し、良いものを開発しようとしているので、これらの比較操作がどのようにしてフードの下で動作するのかちょっと不思議ですプログラミングの習慣。例えばC - 「より大きい」対「より大きい」パフォーマンス

、声明に

0 > 1 

を考えるそれはちょうどそれが最初かどうかを確認してい0が1

以上であるかどうかを確認しかし、その後の文

0 >= 1 

について考える必要があります0が1より大きいかどうか、そしてそれらが等しい場合は?

このような場合であれば、それはまた

a >= b 

に比べ

a > b 

は、業務の半分の量を必要とするという意味ではない、ので、私は聞いてるのよ

+1

ほとんどの最新のアーキテクチャでは、これらの異なる比較演算はすべて1つの命令にマッピングされます。読み込み可能、​​保守可能、堅牢で正確なコードを書くことに主に集中します - マイクロ最適化は後で(まったく)もたらされます。 –

+1

フード下101:1)チェックアセンブリ生成2)測定 –

+0

コメントありがとうございます。私は私のコンパイラにもっと信頼を寄せるようにします。 :) – Lobs001

答えて

4

他の人が述べたように、here:には、ほとんどの最新のプロセッサーが、あなたが言及しているより複雑な見た目のケースを扱う指示を既に持っています。

「モダン」はどれくらいの距離にあるのか分かりませんが、パフォーマンスが心配ならば、スピードの最適化を試みるべきではない1つの場所です。むしろ明確にするために使用します。最適化コンパイラは、通常、処理よりも処理の速い方法を知っています。

+0

ありがとう!コンパイラにもっと信頼を寄せるつもりです。 :) – Lobs001

関連する問題