示例程序如下:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(void)
{
    int result = 0, i;
    struct timespec tt1, tt2;
    
    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &tt1);
    for (i=0; i<10; i++) {
        result += random();
    }
    clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &tt2);
    
    printf("used %ld nanoseconds!\n", tt2.tv_nsec - tt1.tv_nsec);
}

编译运行如下:

$ gcc demo_clocktime.c -o demo_clocktime
$ ./demo_clocktime
used 1298 nanoseconds!

如上,此类入侵式的性能测量一般用于早期开发。

email: MingruiZhou@outlook.com


MingruiZhou
13 声望2 粉丝

linux内核从业者,略懂内存管理、进程调度以及驱动框架。