如何避免toc()打印Julia过去的时间?

时间:2014-05-26 14:18:35

标签: julia

这可能是一个非常愚蠢的问题,但无论如何我都会继续前进。我试图在循环中使用Julia的tic()toc()以找出一些时间问题。一个虚拟的例子如下所示:

elapsedTime = zeros(3);

for i = 1:3
    tic();
    pause(i)
    ElapsedTime[i] = toc();
end 

目标是将经过的时间间隔存储在数组ElapsedTime中。问题是toc()似乎 a)打印屏幕已用时间, b)按需要存储它。

是否有一些简单的技巧可以避免 a),即。 toc()打印结果?这不是一个大问题,如果迭代次数很多,那就太烦人了。

任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:19)

还有另一个名为toq()的toc()版本,它不打印任何东西并返回已用时间。

答案 1 :(得分:9)

您需要@elapsed宏。

elapsedTime = zeros(3);

for i = 1:3
  elapsedTime[i] = @elapsed sleep(i)
end

答案 2 :(得分:1)

我想您可以手动花时间将其存储在数组>

elapsedTime = zeros(3);

for i = 1:3
    t1 = time_ns()
    rand(10000000)
    t2 = time_ns()
    elapsedTime[i] = (t2 - t1)/1.0e9
end