最精确的用于测量性能指标的是什么

这篇文章主要讲解了“最精确的用于测量性能指标的是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“最精确的用于测量性能指标的是什么”吧!

最精确的用于测量性能指标的是TSC(Time-Stamp-Counter)

汇编中提供了RDTSC指令用于读取TSC(只适用单核)

多核CPU则必须使用RDTSCP指令(ReaD TSC and Processor identify)

内嵌汇编

static inline __attribute__((__always_inline__))
uint64_t RDTSCP()
{
        uint32_t lo, hi;
        asm volatile ("rdtscp" : "=a"(lo), "=d"(hi));
        return ((uint64_t)lo) | (((uint64_t)hi) << 32);
}

gcc

static inline __attribute__((__always_inline__))
uint64_t rdtscp()
{
        unsigned int aux;
        return __builtin_ia32_rdtscp(&aux);
}

其中gcc方式产生的汇编指令比内嵌方式少一条, 推荐使用gcc内嵌方式.

获取TSC1和TSC2后, (TSC2-TSC1)/主频即可得到真实时间差值.

感谢各位的阅读,以上就是“最精确的用于测量性能指标的是什么”的内容了,经过本文的学习后,相信大家对最精确的用于测量性能指标的是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!