C中的高精度时间测量

10 c linux

我正在试图找出一种方法来编写一些代码,这些代码可以准确地计算出在BST上执行搜索所需的时间.目前即时使用时间和元素总数的顺序为10 ^ 5.它看起来像下面这样: -

clock_t begin, end;
begin = clock();
...
...
...
end = clock();
difference = (end-begin)/CLOCKS_PER_SECOND;
Run Code Online (Sandbox Code Playgroud)

但是,这并没有给我提供我正在寻找的精确度.我可以使用其他任何libc功能吗?

Ris*_*Sun 0

空白石板时间?您想要什么样的精度?在 32 位系统上除以 CLOCKS_PER_SECOND 10^6 应该得到 6 位精度?

您将结果转换为双精度吗?

尝试

difference = (double)(end-begin)/CLOCKS_PER_SECOND;
Run Code Online (Sandbox Code Playgroud)

请注意,差异应该能够容纳双精度。