10

これはばかげた質問かもしれませんが、この種の最適化はアプリケーションのパフォーマンスを向上させることがあります。C++ がコードをコンパイルする方法は、c# や Java とは大きく異なるため、ここでは特に C++ について質問しています。

問題は、変数 i が int の場合、どちらがより優れたパフォーマンスを発揮するかです。

  1. i > -1
  2. i >= 0

必要なメモリ ブロックまたはレジスタと、両方の条件に必要な CPU サイクルの観点からパフォーマンスを探しています。

前もって感謝します。

4

3 に答える 3

0

for ループを作成する場合、一部のアーキテクチャでは i が 0 に達したときにフラグが設定されるため、コンパイラが比較命令をスキップできるため、それを からfor (i = 0; i < 1000; i++)に変換すると有益な場合があります。for (i = 1000; i > 0; i--)

于 2015-05-22T11:11:10.253 に答える