CPU使用时间问题测试
今天测试cpu使用率的时候发现一个问题,不同方法调用同一个函数的时间居然有差别。
测试函数:
对于两个测试分别进行无限循环测试,测试的时间差结果如下图(两个图片纵坐标的单位均为微妙us):
上图为没有使用usleep(10ms)的测试,下图为使用了usleep(10ms)的测试,可以看出平均时间下图是上图的2倍。 不同的测试方法,一个有睡眠,一个没有睡眠,时间差是不一样的,不知道这是因为什么原因,我的解释是:如果有睡眠,则其它进程会被调度,相关寄存器会被保存起来,在被唤醒后要装载寄存器。如果没有睡眠的,则有可能这个过程是不存在的,所以时间就更少。
Date: 2013.4.29