1

大于/小于如何在内部起作用

如果我将 5 与 100 与 5 与 2,147,483,647 (Integer.MAX_VALUE) 进行比较,会对性能造成多大影响

5 < 100 and 5 < Integer.MAX_VALUE

我问这个问题是因为在某些代码中,当数据不存在时会返回 rank= Integer.MAX_VALUE,即使 rank 大于 100,我们也会丢弃数据,所以如果我返回 101 而不是 Integer.MAX_VALUE,会有一些显着改善. 我正在获取数百万条记录的文件,我必须对每条记录进行比较。

4

2 回答 2

5

如果我将 5 与 100 与 5 与 2,147,483,647 进行比较,会对性能造成多大影响

在我熟悉的所有 32 位和 64 位硬件架构上,这两个比较将花费完全相同的时间。

提高性能的方法是关注您进行的比较次数(以及更一般地说,您的算法必须执行的工作量)。

于 2012-12-17T12:15:24.857 回答
3

应该没有任何区别,只要数量很小(IE,不是 64 位)。只有在比较 64 位数字时,64 位才会有所不同。这通常是我熟悉的任何 CPU 中的单个周期(或固定数量的小周期)请求。但是,抛出异常或类似的东西可能是个好主意,而不是将数字设置为预定义的范围。

于 2012-12-17T12:15:33.777 回答