我能够测量程序的执行时间,但不知道如何计算处理器速度。这是计算时钟周期所必需的。
noofclockcycles = time * processorspeed * pow(10,9) / pow(10,3);
答案 0 :(得分:0)
您所谓的处理器“速度”(时钟速率)与处理能力没有直接关系,更不用说操作系统将为您的程序分配处理能力的哪一部分。这就像试图仅通过其当前功率输出或最大扭矩来找出电机的转速。
您可以通过clockRate_B = ( execTime_A * clockRate_A ) / execTime_B
进行非常粗略的近似,其中( execTime_A * clockRate_A )
来自典型的机器(或一组典型的机器)。但是,这并不能解释CPU体系结构的差异,这些差异会使您的测试在完全相同的时钟速率下运行几倍或更慢。
您可以做的最好的事情是exec
操作系统实用程序(例如Linux中的cpuinfo
和Windows中的wmic
)来获取此信息。