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

如何避免toc()打印Julia中经过的时间?,julia,Julia,这可能是一个非常愚蠢的问题,但我还是会继续。我试图在一个循环中使用Julia的tic()和toc()来解决一些计时问题。虚拟示例如下所示: elapsedTime = zeros(3); for i = 1:3 tic(); pause(i) ElapsedTime[i] = toc(); end 目标是将经过的时间间隔存储在数组ElapsedTime中。问题在于toc()似乎a)将经过的时间打印到屏幕上,然后b)根据需要存储它 是否有一些简单的技巧可以避免a),即

这可能是一个非常愚蠢的问题,但我还是会继续。我试图在一个循环中使用Julia的
tic()
toc()
来解决一些计时问题。虚拟示例如下所示:

elapsedTime = zeros(3);

for i = 1:3
    tic();
    pause(i)
    ElapsedTime[i] = toc();
end 
目标是将经过的时间间隔存储在数组
ElapsedTime
中。问题在于
toc()
似乎a)将经过的时间打印到屏幕上,然后b)根据需要存储它

是否有一些简单的技巧可以避免a),即
toc()
打印结果?这不是一个大问题,只是如果迭代次数太多,会让人恼火


任何帮助都将不胜感激

我想您可以手动计算时间并将其存储在数组中>

elapsedTime = zeros(3);

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

您将需要
@appeased

elapsedTime = zeros(3);

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

toc()的另一个版本称为toq(),它不打印任何内容并返回经过的时间。

您是否试用过Julia的profiler?非常好的提示-谢谢!我去看看!添加如果要测量的代码不止一个命令,您可以在此处执行
elapsedTime[i]=@经过的开始代码。。。结束
非常感谢!这可能是一种更好的方式来满足我的要求。我接受了上面的答案,因为这是解决我问题的最简单的方法,但我也对这个问题投了赞成票。我将更深入地研究朱莉娅的宏。这是可行的,但我认为上面的两个答案更容易解决我的问题。无论如何,非常感谢!