rdtsc指令读取cpu内置tsc,有constant和nonstop tsc两种额外特性,一般认为几年前的cpu已经都会支持,然而云服务器(HyperV虚拟机)没这特性。
cpu没有提供获取rdtsc的单位的指令。
另外想要windows下想要地获取tsc的频率恐怕只有读注册表一种稳定途径,而且精度是MHz,很差。
想要用rdtsc代替timeGetTime基本上很困难,只能乖乖用QueryPerformanceCounter和Frequency组合。
QueryPerformanceFrequency经常返回 cpu开机kHZ/1024,或10MHz(10000000Hz)(腾讯云),或10+? MHz,这和时间源有关。
std steady clock,VMWare Ubuntu/win 虚拟机暂停重开后是连续的。建议使用它作为稳定计时函数。
MyRdtsc是本人基本废弃之作不用找了。