Туплю в дрова.
double elements[100000];
void func1(double *arr)
{
int i;
double j=1;
for(i=0;i<100000;i++)
{
arr[i]=j;
}
}
void func2(double *arr)
{
int i;
double j;
for(i=0;i<100000;i++)
{
j=arr[i];
}
}
int main()
{
int i;
for(i=0;i<10000;i++)
{
func1(elements);
}
}
Если вызываю func1 из main
time ./test1 12,63s user 0,25s system 69% cpu 18,626 total
если func2 из main
time ./test1 4,93s user 0,10s system 74% cpu 6,713 total
Почему разница аж в 3 раза?
Похожие темы
- Форум Динамический массив (2005)
- Форум Почему Rust в 2 раза медленнее Си? (2023)
- Форум модули (2005)
- Форум [perl]eval && regex (2011)
- Форум Почему GPG медленнее OpenSSL? (2017)
- Форум Неинициализированные переменные в C++ при использовании разных опций оптимизации g++ (2017)
- Форум C указатель на функцию. (2014)
- Форум getrusage (2008)
- Форум Вопрос QProcess (2005)
- Форум Segmentation fault (Core dumped) (2018)