当> =用于元素比较时,插入排序比>更慢,为什么?

时间:2013-02-18 16:13:34

标签: c++ c algorithm sorting

我正在测试一些排序算法并测量它们的执行时间,发现了一些非常奇怪的问题并提出了问题,是> =快于> ?

2 个答案:

答案 0 :(得分:2)

特定于CPU架构。你怎么能在现代处理器上测量呢?

但是,如果key实际上不是一个int(也就是你将它匿名化为一个)并且没有特定的重载运算符< =而且< =的代码性能将远远低于<。

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

答案 1 :(得分:1)

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

顺便说一下,你可能不应该在C ++中用“T”开始你的类型名称。这不是Pascal ^^