Подсчет флопов для кода!

Это действительно отнимает у меня время . Мне не удалось найти простой способ оценить количество операций в секунду для следующего кода (цикла). Сколько операций в секунду приходится на одну итерацию цикла:

float func(float * atominfo, float energygridItem, int xindex, int yindex)
{
   ...
   for (atomid=0; atomid<numatoms*4; atomid+=4) 
   {
       float dy = coory - atominfo[atomid+2];
       float dysqpdzsq = (dy * dy) + atominfo[atomid+3];
       float dx1 = coorx1 - atominfo[atomid+1];

       float s, y, t;
       s = atominfo[atomid] * (1.0f / sqrtf(dx1*dx1 + dysqpdzsq));
       y = s - energycomp1;
       t = energyvalx1 + y;
       energycomp1 = (t - energyvalx1)  - y;
       energyvalx1 = t;
    }
    ...
}

Это выглядит просто, но я запутался в некоторых других числах, приведенных ранее, поэтому он было бы здорово, если бы кто-нибудь мог назвать точное число.

Спасибо.

5
задан usman 16 March 2011 в 19:30
поделиться