Вот на программу тебе ...
Цитата:
#include<iostream>
#include<stdio.h>
int maxo(int x, int y)
{
return(x>y)?x:y;
}
inline int maxi(int x, int y)
{
return(x>y)?x:y;
}
int main()
{
int i,j=5000,k, loop; // Непосредственное вычисление
for(loop=0;loop<100;loop++)
{
for(i=0;i<10000;i++)
{
k=(i>j)?i:j;
}
}
// Подставляемая функция
setlocale(LC_ALL, "Russian");
printf("Подставляемая функция\n\n");
for(loop=0;loop<100;loop++)
{
for(i=0;i<10000;i++) {
k=maxi(i,j);
}
}
//Неподставляемая функция
printf("Обычная функция\n\n"); for(loop=0;loop<100;loop++)
{
for(i=0;i<10000;i++)
{k=maxo(i,j);
}
}
system("pause");
return 0;
}
|
На всякий случай скажу сразу, что выигрыша никакого скорее всего не будет. Т.к. современные компиляторы настолько продвинутые, что им по большому счёту плевать, есть модификатор inline, или нет. Они (компиляторы) сами, никого не спрашивая, выполнят inline. Разницу, как правило, можно увидеть, используя компиляторы 20-25-летней давности, когда они ещё не были настолько умными