【发布时间】:2012-03-09 13:23:04
【问题描述】:
美好的一天,
假设您有一个简单的 for 循环,如下所示...
for(int i=0;i<10;i++)
{
//statement 1
//statement 2
}
假设语句 1 和语句 2 是 O(1)。除了“启动”另一个循环的小开销之外,将 for 循环分解为两个(不是嵌套的,而是顺序的)循环是否同样快?比如……
for(int i=0;i<10;i++)
{
//statement 1
}
for(int i=0;i<10;i++)
{
//statement 2
}
为什么我会问这样一个愚蠢的问题,因为我有一个碰撞检测系统 (CDS),它必须遍历所有对象。我想“划分”我的 CDS 系统的功能,这样我就可以简单地调用
cds.update(objectlist);
而不必破坏我的 cds 系统。 (不要太担心我的 CDS 实现......我想我知道我在做什么,我只是不知道如何解释它,我真正需要知道的是我是否会因为循环而受到巨大的性能影响通过我所有的对象再次。
【问题讨论】: