下面的代码是为了计算从get_cpu_proc(&cpc[0])到get_cpu_proc(&cpc[1])之间运算的平均 CPU占用率的近似值。
for循环没有实际作用,只是让CPU跑起来。
usleep(80000)的调用是为了不让CPU占用率达到100%。
我的CPU频率是2.93G,所以才有:#define CPU_FREQUENCY 2930000000UL。
编译:
g++ -g -W -Wall -Wextra -o mytest main.cpp
执行:
./mytest
停止
Ctrl-C
main.cpp:
// 2010年 08月 04日 星期三 17:09:13 CST #include <iostream> #include <unistd.h> using namespace std; #define CPU_FREQUENCY 2930000000UL struct cpu_proc_click { static inline unsigned long long currentcycles(); int main() for(int i = 0; i < 999; ++i) { get_cpu_proc(&cpc[1]); rate = get_cpu_rate(cpc); static inline unsigned long long currentcycles() static void inline get_cpu_proc(struct cpu_proc_click *cpc) static double inline get_cpu_rate(struct cpu_proc_click *cpc) |