Добрый день,
Предположим, у вас есть простой цикл 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... Я думаю, что знаю, что делаю, я просто не знаю, как это объяснить, что мне действительно нужно знать, так это то, что я получаю огромный удар по производительности из-за зацикливания через все мои объекты снова .