-1

我正在测试一些排序算法并测量它们的执行时间,发现一些很奇怪的东西并提出了问题, >= 比 > 快吗?

4

2 回答 2

2

特定于 CPU 架构。无论如何,您如何在现代处理器上测量它?

但是,如果 key 不是真正的 int(即您将其匿名化为一个)并且 <= 没有特定的重载运算符,则 <= 的代码性能将比 < 差得多。

在您的特定算法中,在 <= 和 < 之间进行更改会破坏您的算法,所以这就是这里发生的事情。

于 2013-02-18T16:17:46.410 回答
1

不,在任何现代硬件上 > 和 >= 之间没有性能差异,任何时间增量都是人为的,纯属巧合。你确定代码片段实际上做同样的事情吗?您的编译器设置是否设置为最大化优化(在调试模式下对代码进行计时是无用的)?

顺便说一句,您可能不应该在 C++ 中以“T”开头您的类型名称。这不是帕斯卡^^

于 2013-02-18T16:17:34.540 回答