-4

对此可能没有真正的答案,但我想知道当谈到 do-while 循环时有多少是太多了。

例如,如果它必须循环 10 次,这是否被认为是不好的?5次?它是否取决于循环正在做的事情?有没有办法跟踪执行循环所花费的“努力”(内存?)量并使用它来确定它是否正常?

这更像是一个开放式的“讨论”,而不是我寻找或具体的答案。

4

2 回答 2

2

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

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

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

它看起来无害,但内部循环中的代码将被评估 1,000,000 次。像这样为排序/搜索/等优化代码不仅仅是一个“开放式讨论”,它是所有计算机科学的很大一部分。

于 2013-08-08T16:43:30.583 回答
0

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

总而言之,您需要尝试一下。如果它表现良好,你就可以走了。但是,我强烈建议在需要很长时间时使用线程,以便您可以将进度信息发送回用户。

于 2013-08-08T16:55:57.283 回答