让我们只是幻想并谈论表现。
正如我在about.delphi.com上读到的称为性能编程的文章,有一些有趣的段落声称Case语句(实际上我更喜欢将其称为结构)比If更快; For比While和Repeat快,但While是最慢的循环运算符。我可能理解为什么虽然是最慢的,但是......其他人呢。
您是否已经测试/播放/试验过,或者甚至在改变时获得了真正的性能提升,例如,在可能的情况下将所有IF语句转换为案例?
此外,我想谈谈Delphi IDE中的其他 - 修改 - 循环和if语句行为,但这将是另一个问题。
女士们,先生们,我们开始吧?
答案 0 :(得分:3)
当控制结构/循环结构的类型很重要时,这种情况非常罕见。如果您将For
循环更改为While
循环,则无法获得任何合理的性能提升。相反,算法很重要。
答案 1 :(得分:2)
我怀疑 for 在实践中会比 时慢。
AFAIK, for 在时评估条件一次,而(没有双关语)每次评估条件。请考虑以下陈述
for i = 0 to GettingAmountOfUsersIsTakingALotOfTime do
begin
...
end;
i := 0;
while i <= GettingAmountOfUsersIsTakingALotOfTime do
begin
...
Inc(I);
end;
while语句的速度比if语句慢很多。
答案 2 :(得分:1)