1

内部でどのように大なり / 小なりが機能するか

5 と 100 と 5 と 2,147,483,647 (Integer.MAX_VALUE) を比較した場合、どれだけのパフォーマンス ヒットが発生するか

5 < 100 and 5 < Integer.MAX_VALUE

一部のコードでは、データが存在しない場合に rank= Integer.MAX_VALUE が返され、ランクが 100 を超えていてもデータを破棄するため、この質問をしています。 . 何百万ものレコードのファイルを取得しており、すべてのレコードに対してこの比較を行う必要があります。

4

2 に答える 2

5

5 を 100 と 5 を 2,147,483,647 と比較すると、パフォーマンス ヒットはどれくらいになるでしょうか。

私がよく知っているすべての 32 ビットおよび 64 ビットのハードウェア アーキテクチャでは、2 つの比較にかかる時間はまったく同じでした。

パフォーマンスを改善する方法は、行う比較の数に注目することです (より一般的には、アルゴリズムが実行する必要がある作業の量にも注目します)。

于 2012-12-17T12:15:24.857 に答える
3

数値が小さい限り (64 ビットではなく IE)、違いはないはずです。そして、64ビットの数値を比較している場合、64ビットは違いを生むだけです。これは通常、私がよく知っている任意の CPU での単一サイクル (または一定数の小さなサイクル) 要求です。ただし、数値を事前定義された範囲に設定する代わりに、例外などをスローすることをお勧めします。

于 2012-12-17T12:15:33.777 に答える