我有以下功能
for(i = 0; i < lines; i++)
fgets(i[*compare], 36, fp);
它使用文件指针流fp
中的字符串填充“指向X字符数组的X字符数组的指针。变量lines
是文件所具有的行数(预先计算的)。
我希望计算fgets
操作的读取速度。但是我不确定如何做到这一点,也不确定“公式”
答案 0 :(得分:2)
使用clock_gettime
获取一些时间,并将其包装在fgets周围。然后从a
中适当地减去b
,你就有了执行fgets所花费的时间(和一个clock_gettime调用)。
#include <time.h>
struct timespec a, b;
clock_gettime(CLOCK_MONOTONIC, &a);
fgets(...)
clock_gettime(CLOCK_MONOTONIC, &b);
36个字符不是很多,所以它会比可以明显测量的速度快。 (但后来我再次听到Linus的话(关于git),“也许在Windows上也许你可以[测量它]”......)无论如何,你现在(最多)这个很多字符在找到的delta时间内被转移。 / p>