Parallel processing 有没有像clock()这样的东西更适合于并行代码?

Parallel processing 有没有像clock()这样的东西更适合于并行代码?,parallel-processing,openmp,clock,Parallel Processing,Openmp,Clock,所以我知道clock()测量时钟周期,因此不太适合测量时间,我知道有类似omp_get_wtime()的函数用于获取墙时间,但墙时间变化如此之大让我感到沮丧,我想知道是否有办法测量不同的时钟周期(仅一个周期,即使其中执行了多个线程)。它必须是相对简单的/本地的。谢谢你确定测量时间对你不起作用吗?请记住,根据操作系统的不同,你只能测量这么多毫秒。如果你使用我测试过的x86,并且在我的系统(mac)上运行良好,请参阅FreeMemory对RDTSC的回答,但请看我的答案。也请看对RDTSC的批评 通

所以我知道clock()测量时钟周期,因此不太适合测量时间,我知道有类似omp_get_wtime()的函数用于获取墙时间,但墙时间变化如此之大让我感到沮丧,我想知道是否有办法测量不同的时钟周期(仅一个周期,即使其中执行了多个线程)。它必须是相对简单的/本地的。谢谢你确定测量时间对你不起作用吗?请记住,根据操作系统的不同,你只能测量这么多毫秒。

如果你使用我测试过的x86,并且在我的系统(mac)上运行良好,请参阅FreeMemory对RDTSC的回答,但请看我的答案。也请看对RDTSC的批评

通常情况下,把细节的层次降低得太低是不值得的,但是,计算机需要做的其他一些工作会占用时钟周期,因此它会根据负载的不同而有所不同。我发现
omp\u get\u wtime()
足够了,不过我需要将我的代码放入一个额外的循环中,以确保每次运行的结果保持一致