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
使用我系统的时钟小时?什么是收集代码处理时间的好方法?
答案 0 :(得分:2)
第一个带有cputime的代码片段衡量代码在CPU上执行的时间。第二个片段测量挂钟时间(顺便说一句:使用tic和toc来测量它)。挂钟包括CPU执行某些其他线程或等待IO的时间。
由您决定要衡量的是什么。如果我想对我的代码进行基准测试,我通常会使用带有tic / toc的挂钟。
在单线程应用程序上,挂钟时间大于或等于cputime(因为它包括CPU处理其他一些线程的时间)。在具有多个内核的多线程应用程序上,cputime可能大于挂钟时间。