Why is tic/toc not reporting the correct elapsed time?
46 次查看(过去 30 天)
显示 更早的评论
I'm trying to time how long it takes for my program to run and tic/toc is reporting an elapsed time of 150 seconds, but when I time it with a stopwatch, it actually takes 3 hours and 24 minutes for my program to run.
Why is there such a significant discrepancy?
4 个评论
Walter Roberson
2019-8-13
Are you saving the result of tic() into a variable and toc() against the variable? If not then you might have another tic() call that is interfering: toc() reports relative to the most recent tic() that had no output.
回答(1 个)
Bruno Luong
2019-8-13
编辑:Bruno Luong
2019-8-13
I never have problem with tic/toc. I believe it inquires CPU frequency/counter or clock and derive time from it. It's very direct and simple.
If you get some strange result, then as Walter said something must trigger a later tic when you are not expected.
It might be also safter using tic/toc with timerVal
t0 = tic();
...
dt = toc(t0)
if you are not sure about what happens during "..."
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Performance and Memory 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!