这可能是一个非常愚蠢的问题,但无论如何我都会继续前进。我试图在循环中使用Julia的tic()
和toc()
以找出一些时间问题。一个虚拟的例子如下所示:
elapsedTime = zeros(3);
for i = 1:3
tic();
pause(i)
ElapsedTime[i] = toc();
end
目标是将经过的时间间隔存储在数组ElapsedTime
中。问题是toc()
似乎 a)打印屏幕已用时间, b)按需要存储它。
是否有一些简单的技巧可以避免 a),即。 toc()
打印结果?这不是一个大问题,如果迭代次数很多,那就太烦人了。
任何帮助将不胜感激!
答案 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