У меня есть две петли. Я не понимаю, почему первый работает быстрее, чем мой второй. Можете ли вы объяснить как можно проще?Булевое состояние, оцененное внутри для характеристики петли
Первое:
for (int x1=0;x1<1000;x1++){
for(int x2=0;x2<1000;x2++){
if(x1<500){
a[x2+x1*1000]=100;
}
}
}
Второе:
bool cond;
for (int x1=0; x1<1000; x1++) {
cond = x1<500;
for(int x2=0; x2<1000; x2++){
if(cond){
a[x2+x1*1000] = 100;
}
}
}
(я упростил свой код)
Насколько медленнее/быстрее? Показать фактические ориентиры. Если разница незначительна, это может быть почти все (в том числе неэффективность, вызванная операционной системой, на которую вы не можете повлиять), и ее можно пренебрегать с чистой совестью. – Downvoter
в моем коде это выражение вызывает% 30 замедление кода –
Показать фактические ориентиры. Но, по общему признанию, это не второстепенно. – Downvoter