我正在测试一些排序算法并测量它们的执行时间,发现了一些非常奇怪的问题并提出了问题,是> =快于> ?
答案 0 :(得分:2)
特定于CPU架构。你怎么能在现代处理器上测量呢?
但是,如果key实际上不是一个int(也就是你将它匿名化为一个)并且没有特定的重载运算符< =而且< =的代码性能将远远低于<。
在您的特定算法中,在< =和<之间进行更改会破坏你的算法,以便发生这里发生的事情。
答案 1 :(得分:1)
不,>之间没有任何性能差异并且> =在任何现代硬件上,任何时间增量都是人为的,纯属巧合。你确定代码片段实际上做了同样的事情吗?您的编译器设置是否设置为最大化优化(在调试模式下对时间代码没用)?
顺便说一下,你可能不应该在C ++中用“T”开始你的类型名称。这不是Pascal ^^