我需要测量循环执行的真实和虚拟(CPU)时间。此循环包括多处理和子进程。
我尝试使用CPU:
clock_t start, end;
cpu_time_used=((double)(end-start)/CLOCKS_PER_SEC); //in sec
实时:
struct timeval tv1, tv2;
gettimeofday(&tv1, NULL);
gettimeofday(&tv2, NULL);
printf("Total time = %f sec. \n", (double)(tv2.tv_usec - tv1.tv_usec) / 1000000) + (tv2.tv_sec - tv1.tv_sec));
但是测量值不够。据我了解,在这种情况下,CPU时间应该更长一些,但是两者之间几乎没有区别。