小智 13
试试这个名为"Intel Power Gadget"的工具.它实时显示IA频率和IA功率.
http://software.intel.com/sites/default/files/article/184535/intel-power-gadget-2.zip
Dar*_*ust 12
您可以sysctl通过命令行轻松查询CPU速度:
sysctl hw.cpufrequency
Run Code Online (Sandbox Code Playgroud)
或者通过C:
#include <stdio.h>
#include <sys/types.h>
#include <sys/sysctl.h>
int main() {
int mib[2];
unsigned int freq;
size_t len;
mib[0] = CTL_HW;
mib[1] = HW_CPU_FREQ;
len = sizeof(freq);
sysctl(mib, 2, &freq, &len, NULL, 0);
printf("%u\n", freq);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
由于它是英特尔处理器,因此您始终可以使用RDTSC.这是一个汇编指令,它返回当前循环计数器 - 一个64位计数器,每个循环递增一次.它有点近似但是例如
#include <stdio.h>
#include <stdint.h>
#include <unistd.h>
uint64_t rdtsc(void)
{
uint32_t ret0[2];
__asm__ __volatile__("rdtsc" : "=a"(ret0[0]), "=d"(ret0[1]));
return ((uint64_t)ret0[1] << 32) | ret0[0];
}
int main(int argc, const char * argv[])
{
uint64_t startCount = rdtsc();
sleep(1);
uint64_t endCount = rdtsc();
printf("Clocks per second: %llu", endCount - startCount);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在我的2Ghz MacBook Pro上输出'每秒钟数:2002120630'.
| 归档时间: |
|
| 查看次数: |
15295 次 |
| 最近记录: |