多少循环就是多少?(PHP Do While循环)


How much looping is too much? (PHP Do-While Loop)

这个问题可能真的没有答案,但我想知道当涉及到while循环时,有多少太多了。

例如,如果它必须循环10次,这被认为是糟糕的吗?5次?这取决于循环所做的事情的种类吗?有没有办法跟踪执行循环所需的"工作量"(内存?),并用它来确定是否正常?

这更多的是一个开放式的"讨论",而不是我的目光或具体的答案。

对于单个循环,这实际上取决于内部代码在做什么,如果计算时间太长,或者占用了大量内存,那么你必须找到并更改它。实际上,一个"好循环"的迭代次数没有上限,因为它"需要多少迭代"。

真正容易陷入的障碍是嵌套循环。例如:

for( $i=0; $i<100; $i++ ) {
    for( $j=0; $j<100; $j++ ) {
        for( $k=0; $k<100; $k++ ) {
             // some code       
        }
    }
}

它看起来无害,但内部循环中的代码将被评估1000000次。为排序/搜索等优化这样的代码不仅仅是一个"开放式讨论",它是所有计算机科学的重要组成部分。

这取决于它在目标机器上的执行方式。如果你在不同的模块(可能是图形、音频等)中看到很多滞后,你可能必须通过划分循环(在多次迭代中执行循环)或线程来减少这种循环的影响。

总而言之,你需要尝试一下。如果它表现良好,你就可以去。但是,我强烈建议在需要很长时间的时候使用线程,这样你就可以向用户发回进度信息。