是否有类似clock()的东西更适合并行代码?

时间:2010-03-18 01:57:42

标签: parallel-processing openmp clock

所以我知道clock()测量时钟周期,因此对测量时间不是很好,而且我知道有一些像omp_get_wtime()这样的功能可以获得墙上的时间,但是对于我来说这墙很令人沮丧时间变化很大,并且想知道是否有某种方法可以测量不同的时钟周期(即使在其中执行了多个线程,也只有一个周期)。它必须是相对简单/原生的东西。感谢

2 个答案:

答案 0 :(得分:1)

您确定花时间测量对您不起作用吗?请记住,根据操作系统的不同,您只能测量到这么多毫秒。

答案 1 :(得分:0)

如果您使用的x86我已经测试过并且似乎在我的系统(mac)上正常工作,请参阅FreeMemory对RDTSC this question的答案,但请参阅我对this question的回答。另见RDTSC here的批评。

通常不值得降低细节水平但是,计算机需要做的其他工作会耗尽时钟周期,因此它会根据负载而变化。我发现omp_get_wtime()已经足够了,但是我需要将我的代码放在一个额外的循环中,以确保它需要大约一秒钟才能确保从运行到运行的结果一致。