关于八度音程中代码的处理时间的评估

时间:2016-04-29 16:26:26

标签: time octave

cputime ();返回Octave会话使用的CPU时间。 Here,说明了衡量代码处理时间的方法。

t = cputime;
...%your code
...%computing
...%when you are done
printf('Total cpu time: %f seconds\n', cputime-t);

在八度文档中我们可以使用etime();函数文件,它返回时钟中两个时间戳之间的差异(以秒为单位),如下所示:

t0 = clock ();
# many computations later...
elapsed_time = etime (clock (), t0);

以上两种方式的区别是什么? etime使用我系统的时钟小时?什么是收集代码处理时间的好方法?

1 个答案:

答案 0 :(得分:2)

第一个带有cputime的代码片段衡量代码在CPU上执行的时间。第二个片段测量挂钟时间(顺便说一句:使用tic和toc来测量它)。挂钟包括CPU执行某些其他线程或等待IO的时间。

由您决定要衡量的是什么。如果我想对我的代码进行基准测试,我通常会使用带有tic / toc的挂钟。

在单线程应用程序上,挂钟时间大于或等于cputime(因为它包括CPU处理其他一些线程的时间)。在具有多个内核的多线程应用程序上,cputime可能大于挂钟时间。