C ++では、i> -1またはi> = 0のどちらが良いですか

ヨゲシュ

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

問題は、変数iがintの場合、どちらがパフォーマンスが優れているかです。

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

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

前もって感謝します。

Aracthor

アセンブリ言語では、両方が同じ構造になっています。

  1. i > -1

    cmp   [register with i value],-1
    jg    [somewhere]
    
  2. i >= 0

    cmp   [register with i value],0
    jge   [somewhere]
    

使用されるジャンプフラグによると、命令jgは2つのフラグの比較(ZF = 0およびSF = OF)を行いますが、jge1つだけ(SF = OF)を行います。

ですから、どちらもほぼ同じレジスタとCPUサイクルを使用していると言いたくなりますが、の比較はほんの少し速いかもしれませんi >= 0

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

どちらが良いですか:PooledConnectionFactoryまたはCachingConnectionFactory?

分類Dev

Akka Stream:どちらが良いですか?scanまたはscanAsync?

分類Dev

どちらが良いですか:解析またはAWS

分類Dev

x <5または5> xのどちらが良いですか?

分類Dev

Bash:エコーまたは<<<のどちらが良いですか?

分類Dev

heapifyとheappushの違いは何ですか?どちらが良いですか?

分類Dev

C ++のループ条件i <sqrtN(事前計算済み)またはi * i <Nの中で、どちらがより効率的ですか?

分類Dev

C#の読み取り専用キーワード/式ボディのメンバーの違いはどちらが良いですか?

分類Dev

C#の読み取り専用キーワード/式ボディのメンバーの違いはどちらが良いですか?

分類Dev

C ++->どちらが速いですか?int a(5); またはinta = 5;

分類Dev

ループの場合は `iter`と` while`のどちらが良いですか?

分類Dev

リストの初期化方法はどちらが良いですか

分類Dev

ForeignKeyまたはManyToMany-いつ使用するか?どちらのバージョンが良いですか?

分類Dev

2次元配列を反復処理するためのシングルforループとダブルforループのどちらが良いですか?C ++

分類Dev

どちらが良いのOracle 12cはPLSQL手順、Javaの8からこれら1.sys_refcursor 2.カスタムJSONの3.customオブジェクト/レコードの種類の中から選択するのですか?

分類Dev

説明for(i = 0; 1; i ++)はCで何をしますか?

分類Dev

どちらが良いですか:<script type = "text / javascript"> ... </ script>または<script> ... </ script>

分類Dev

どちらが良いですか:O(n log n)またはO(n ^ 2)

分類Dev

intval()またはsprintf( '%d')を使用して、どちらが良いですか?

分類Dev

Cでは、{a [i] = a [++ i]}は{a [i] = a [i +1]と同等です。i ++;}?

分類Dev

Object.GetType()== typeof(Type)またはObject is Typeのどちらを使用するのが良いですか?

分類Dev

android-support-v7-appcompatまたはappcompatのどちらを使用するのが良いですか

分類Dev

どちらが良いですか?iisのphpまたはWindowsServer 2003(VDS)のWAMPサーバーのphp

分類Dev

どちらの方がパフォーマンスが良いですか:test!= nullまたはnull!= test

分類Dev

COUNT(*)vs。COUNT(1)vs。COUNT(pk):どちらが良いですか?

分類Dev

どちらが良いですか:使用; または&&で複数のコマンドを1行で実行しますか?

分類Dev

どちらが良いですか:使用; または&&で複数のコマンドを1行で実行しますか?

分類Dev

UnitOfWorkまたはリポジトリのDBContextSaveChangesメソッド?どちらが良いですか?

分類Dev

`Int((n + 1)/ 2)`、 `round(Int、(n + 1)/ 2)`または `Int((n + 1)// 2)`のどちらを使用するのが良いですか?

Related 関連記事

  1. 1

    どちらが良いですか:PooledConnectionFactoryまたはCachingConnectionFactory?

  2. 2

    Akka Stream:どちらが良いですか?scanまたはscanAsync?

  3. 3

    どちらが良いですか:解析またはAWS

  4. 4

    x <5または5> xのどちらが良いですか?

  5. 5

    Bash:エコーまたは<<<のどちらが良いですか?

  6. 6

    heapifyとheappushの違いは何ですか?どちらが良いですか?

  7. 7

    C ++のループ条件i <sqrtN(事前計算済み)またはi * i <Nの中で、どちらがより効率的ですか?

  8. 8

    C#の読み取り専用キーワード/式ボディのメンバーの違いはどちらが良いですか?

  9. 9

    C#の読み取り専用キーワード/式ボディのメンバーの違いはどちらが良いですか?

  10. 10

    C ++->どちらが速いですか?int a(5); またはinta = 5;

  11. 11

    ループの場合は `iter`と` while`のどちらが良いですか?

  12. 12

    リストの初期化方法はどちらが良いですか

  13. 13

    ForeignKeyまたはManyToMany-いつ使用するか?どちらのバージョンが良いですか?

  14. 14

    2次元配列を反復処理するためのシングルforループとダブルforループのどちらが良いですか?C ++

  15. 15

    どちらが良いのOracle 12cはPLSQL手順、Javaの8からこれら1.sys_refcursor 2.カスタムJSONの3.customオブジェクト/レコードの種類の中から選択するのですか?

  16. 16

    説明for(i = 0; 1; i ++)はCで何をしますか?

  17. 17

    どちらが良いですか:<script type = "text / javascript"> ... </ script>または<script> ... </ script>

  18. 18

    どちらが良いですか:O(n log n)またはO(n ^ 2)

  19. 19

    intval()またはsprintf( '%d')を使用して、どちらが良いですか?

  20. 20

    Cでは、{a [i] = a [++ i]}は{a [i] = a [i +1]と同等です。i ++;}?

  21. 21

    Object.GetType()== typeof(Type)またはObject is Typeのどちらを使用するのが良いですか?

  22. 22

    android-support-v7-appcompatまたはappcompatのどちらを使用するのが良いですか

  23. 23

    どちらが良いですか?iisのphpまたはWindowsServer 2003(VDS)のWAMPサーバーのphp

  24. 24

    どちらの方がパフォーマンスが良いですか:test!= nullまたはnull!= test

  25. 25

    COUNT(*)vs。COUNT(1)vs。COUNT(pk):どちらが良いですか?

  26. 26

    どちらが良いですか:使用; または&&で複数のコマンドを1行で実行しますか?

  27. 27

    どちらが良いですか:使用; または&&で複数のコマンドを1行で実行しますか?

  28. 28

    UnitOfWorkまたはリポジトリのDBContextSaveChangesメソッド?どちらが良いですか?

  29. 29

    `Int((n + 1)/ 2)`、 `round(Int、(n + 1)/ 2)`または `Int((n + 1)// 2)`のどちらを使用するのが良いですか?

ホットタグ

アーカイブ