Сразу оговорю (чтоб камни большие не брали), что ops - не число операций в секунду в данном случае. Мой результат: с иксами - от 333333333.33 без иксов - 38461538.56 Почему ops умножаем на 1000? Просто так. Чтобы никто не думал, что это - оп./сек. #include <stdio.h> #include <sys/time.h>
struct timeval inital, final; struct timezone tz; long i,ii,iii; double ops; double seconds;
main() { gettimeofday(&inital,&tz); for(iii=0;iii<100;iii++) for(ii=0;ii<10000;ii++) for(i=0;i<10000;i++); gettimeofday(&final,&tz); seconds = (final.tv_sec - inital.tv_sec) + 100000/(final.tv_usec - inital.tv_usec); ops = 1000000/seconds; ops*=1000; printf("inital:\n\r%ld:%ld\nfinal:\n\r%ld:%ld\ntotal:\n\r%7.2f\nops:\n\r%7. 2f\n",inital.tv_sec,inital.tv_usec,final.tv_sec,final.tv_usec,seconds,ops); }