【问题标题】:How to calculate the accurate execution time in matlab?matlab如何计算准确的执行时间?
【发布时间】:2019-03-23 10:23:15
【问题描述】:

我正在使用 Matlab 研究流密码算法,我想看看我在非线性函数中所做的每一次更改的时间差异。我创建了一个具有一些“mod”操作和“bitxor”操作的非线性函数,当我将一些 bitxor 更改为 mod 操作并使用“tic toc”计算时间时,它表明具有更多“mod”操作的新函数尽管 mod 比 bitxor 慢,但执行时间比原来的要少。这个问题的原因是什么?在这种情况下是否有另一种计算时间的方法?

【问题讨论】:

标签: matlab time


【解决方案1】:

您可以尝试使用本地时钟,并计算差异。例如:

time1 = clock;
    [..Some heavy calculation here]
time2 = clock;
simtime = etime(time2, time1);
disp("time in seconds is:")
disp(simtime)

您将避免因代码执行可能减慢而导致的任何不准确性。

【讨论】:

  • 我尝试了“clock”、“cputime”和“timeit”,但问题没有解决。
  • 很难接受。它只是记录处理前后的时间,并计算差异。会出什么问题?即使tic toc 出于某种原因滞后,clock 也是独立的,因为它依赖于系统时间。如果没有有关您的代码的更多详细信息,我们无法指出问题所在。
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 2017-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多