Для оптимизации цикла?Если если против против Если для если - PullRequest
0 голосов
/ 12 апреля 2019

Во время кодирования мне было просто любопытно, есть ли разница в производительности между двумя кодами.

for(int i=0;i<10;i++){
   if(i>-1)
      printf("Bigger! than -1");
   if(i>5)
      printf("Bigger! than 5");
}

vs

for(int i=0;i<10;i++)
   if(i>-1)
      printf("Bigger! than -1");
for(int i=0;i<10;i++)
   if(i>5)
      printf("Bigger! than 5");


Есть ли разница в производительности и, если есть, какие факторы делают это различие?

1 Ответ

3 голосов
/ 12 апреля 2019

Недостаточно репутации, чтобы комментировать, поэтому пишите это как ответ.

@ Carcigenicate Поскольку выходные данные обеих программ различны, они, безусловно, не будут оптимизированы под один и тот же машинный код.

Я подозреваю, что вторая версия будет медленнее, так как в память для переменной индекса (в несколько раз больше) обращений "write".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...