Здравствуйте, korzhik, Вы писали:
W>>какая процедура proc1 или proc2 выполняется быстрее и почему
K>proc2 быстрее
кстати, я не пошутил
у меня на компе proc2 выполняется в 1.5 раза быстрее чем proc1.
Как такое может быть и почему???!!!
Протестируйте пожалуйста у себя:
#include <boost/progress.hpp>
char M[4000*4100];
int proc1()
{
boost::progress_timer t;
int c = 0;
for (int j = 0; j < 4000; ++j)
for (int i = 0; i < 4000; ++i)
c = c + M[i*4096 + j];
return c;
}
int proc2()
{
boost::progress_timer t;
int c = 0;
for (int j = 0; j < 4000; ++j)
for (int i = 0; i < 4000; ++i)
c = c + M[i*4097 + j];
return c;
}
int main()
{
proc1();
proc2();
}