如何从测量的总执行时间中删除时钟所花费的时间?

Ctrl-Shift-Esc

我正在尝试评估一组语句所花费的时间。以下是伪代码。该代码是在Xilinx芯片组上使用自定义RTOS在C ++中实现的,因此传统的c ++时钟功能在这里不起作用。

我不需要实际时间测量方面的帮助,而需要更多有关如何计算实际执行时间的数学信息。

one = clock.getTime();
/*statement 
*     1      *
*     to     *
*     10     */
two = clock.getTime();
fTime = two - one;

现在我知道了声明所花的时间。这个时间还包括getTime()花费的时间吗?

one = clock.getTime();
clock.getTime();
two = clock.getTime();
cTime = two - one;     //Just measure and the min value i get is 300 microseconds.

现在,此块为我提供了getTime()花费的时间。

最后,我的问题是:

声明实际花费的时间是多少?

  1. fTime-cTime
  2. fTime-(2 * cTime)
  3. 其他方程式?
光谱

您的时间量度会改变时间

如果它在足够稳定的平台上,那么移位在所有时间都是相同的,因此

one = t1 + dt
two = t2 + dt

减去后,移位消除了自身,所以

two-one = (t2+dt)-(t1+dt) = t2-t1

因此在这种情况下,无需对时间测量偏移进行校正。

问题始于代码执行可变的多标量/矢量架构

  • 由于不同的缓存未命中
  • 不同的预取无效

依此类推,那么您就不得不使用缓存无效化了。另外,如果您getTime()等待中断或硬件事件,也可能会增加一些错误T

在这种情况下,请进行多次测量并获得平均值或最小有效结果,例如:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从总的测量执行时间中删除时钟所花费的时间?

来自分类Dev

测量执行函数所花费的时间

来自分类Dev

测量执行时间

来自分类Dev

jmeter执行给定负载所花费的总时间

来自分类Dev

如何测量执行时间(以微秒为单位)?

来自分类Dev

如何在macOS中测量线程的执行时间?

来自分类Dev

如何测量 View 特定部分的执行时间

来自分类Dev

SQL 如何测量 CTE 执行时间

来自分类Dev

测量Celery任务执行时间

来自分类Dev

测量多个线程的执行时间

来自分类Dev

测量python脚本的执行时间

来自分类Dev

测量函数的执行时间

来自分类Dev

测量脚本执行时间

来自分类Dev

测量多个线程的执行时间

来自分类Dev

apache nifi总执行时间

来自分类Dev

线程中的总执行时间

来自分类Dev

apache nifi总执行时间

来自分类Dev

如何测量for循环的每次迭代所花费的时间?

来自分类Dev

如何测量JavaScript中同步http请求所花费的时间?

来自分类Dev

如何测量线程通过条件变量所花费的时间?

来自分类Dev

删除查询执行时间太长

来自分类Dev

执行时间

来自分类Dev

SQL测量存储过程执行时间

来自分类Dev

microtime(true)-无法测量PHP脚本执行时间

来自分类Dev

测量执行时间-gettimeofday与clock()与chrono

来自分类Dev

用D语言测量执行时间

来自分类Dev

在Flink中测量作业执行时间

来自分类Dev

Measure-Command:测量python脚本执行时间

来自分类Dev

测量Keras层执行时间的正确方法