Что из следующего будет более эффективным? - PullRequest
2 голосов
/ 08 октября 2010

В С:

Допустим, функция "Myfuny ()" имеет 50 строк кода, в которых также вызываются другие меньшие функции. Какой из следующих кодов будет более эффективным?

void myfunction(long *a, long *b);
int i;
for(i=0;i<8;i++)
   myfunction(&a, &b);

или

myfunction(&a, &b);
myfunction(&a, &b);
myfunction(&a, &b);
myfunction(&a, &b);
myfunction(&a, &b);
myfunction(&a, &b);
myfunction(&a, &b);
myfunction(&a, &b);  

любая помощь будет оценена.

Ответы [ 11 ]

0 голосов
/ 08 октября 2010

На современных процессорах размер скомпилированного кода становится очень важным. Если бы этот цикл мог запускаться полностью из кеша процессора, это было бы самым быстрым решением. Как сказал n8wrl, проверь себя.

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