Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Assembly 英特尔RDTSC指令(或等效指令)是否仅对任务中的时钟计数,还是全局计数?_Assembly_Intel_Benchmarking - Fatal编程技术网

Assembly 英特尔RDTSC指令(或等效指令)是否仅对任务中的时钟计数,还是全局计数?

Assembly 英特尔RDTSC指令(或等效指令)是否仅对任务中的时钟计数,还是全局计数?,assembly,intel,benchmarking,Assembly,Intel,Benchmarking,与前面的问题有关: 在RDTSC或类似指令中,计数是仅针对您的进程,还是全局计数?如果有上下文切换,唯一不准确的是上下文切换本身的成本,还是CPU在不同作业上的整个时间都被计算在内?计算的是整个系统(包括您正在运行的进程和每个其他进程)。 该指令统计重置后发生的滴答数。该计数适用于整个系统(包括您正在运行的进程和每个其他进程)。 该指令统计重置后发生的滴答数。它统计每个内核的指令数(因此,您不应该在多核系统上使用它进行计时)。当出现查询时,《英特尔开发人员指南》应该是您的第一站。它计算每个内核的

与前面的问题有关:


在RDTSC或类似指令中,计数是仅针对您的进程,还是全局计数?如果有上下文切换,唯一不准确的是上下文切换本身的成本,还是CPU在不同作业上的整个时间都被计算在内?

计算的是整个系统(包括您正在运行的进程和每个其他进程)。
该指令统计重置后发生的滴答数。

该计数适用于整个系统(包括您正在运行的进程和每个其他进程)。
该指令统计重置后发生的滴答数。

它统计每个内核的指令数(因此,您不应该在多核系统上使用它进行计时)。当出现查询时,《英特尔开发人员指南》应该是您的第一站。

它计算每个内核的指令数(因此,您不应该在多核系统上使用它计时)。当出现查询时,《英特尔开发人员指南》应该是您的第一站。

那么,是否有任何标准库可以捕获上下文切换并将时钟号保存在内存中或内存中?您必须修改内核。是否有任何标准库可以捕获上下文切换并将时钟号保存在内存中或内存中?您必须修改内核。实际上是这样的更新的CPU它是同步的。有一个CPUID位告诉您(您可以在VDSO for gettimeofday的Linux实现中找到详细信息)。然而,如果cpu没有,那么您的sol将是正确的,这就是为什么您应该坚持使用更高级别的api,例如microsofts在更新的cpu上的性能,它是同步的。有一个CPUID位告诉您(您可以在VDSO for gettimeofday的Linux实现中找到详细信息)。但是,如果cpu没有,那么您的sol将是正确的,这就是为什么您应该坚持使用更高级别的api,如microsofts performance counter