如何在应用程序里面高效的读取jiffies值,希望在几十个时钟周期内搞定。
想在Linux下实现一个类似Windows的GetTickCount()函数。
精度要求只要和系统的时间片一致就行,因为要频繁调用,所以一定要高效。
我用gettimeofday()实现了一个,精度满足要求,但效率太低,经过测试,平均耗费15000个时钟周期。但WIN32的GetTickCount()就几十个时钟周期。
我想到直接读取系统的jiffes值,但在应用程序空间不知如何获得读取它的内存地址。
/proc/uptime其实就是jiffes值,但用文件方式读取它同样很低效(/proc/uptime文件无法做内存映射文件,不能按照内存地址直接读取)。能把操作系统的jiffes变量的地址映射到用户空间是最好了。
向各位linux高手求救,谢了!