1、为了精确获取时间,我们要用到timespec结构体。tv_sec: time_t类型(其实就是int64),是自1970年1月1号00:00:00到现在的秒数,是一个永远递增的数字。tv_nsec: long型表示纳秒,数值在0-999999999之间。
2、获取时间用到的函数是timespec_get(timespec结构体地址, Base)Base是一个无关紧要的数值,取1就可。
3、编写如图代码,在一个200000次for循环的前后调用timespec_get,获取的两个时间如图。
4、接着,我们按照如图方式计算时间间隔(单位:秒),速度(单位:百万次/秒),并显示,效果如图。
5、我们可以把这段计时代码定义成一个宏。__x为待计时代码,__mysize为计算速度用到的总长度,__printexp为代码执行后附加运行的代码(比如printf输出点什么)
6、如图,直接使用写好的宏来对代码计时。