朱莉娅的秒表功能

I L*_*ode 3 julia

在MATLAB中,有一对函数tictoc 其可用于启动和停止秒表计时.从链接中获取的示例:

tic
A = rand(12000, 4400);
B = rand(12000, 4400);
toc
C = A'.*B';
toc
Run Code Online (Sandbox Code Playgroud)

我知道@timeJulia中有一个宏具有类似的功能.

julia> @time [sin(cos(i)) for i in 1:100000];
elapsed time: 0.00721026 seconds (800048 bytes allocated)
Run Code Online (Sandbox Code Playgroud)

朱莉娅有一套类似的功能吗?该@time宏适用于可以用一行或两行写入的定时语句.对于较长的代码部分,我更喜欢使用tic-toc函数.

我尝试了什么

当我用谷歌搜索"朱莉娅秒表"时,我找到了一个有用的链接和四个不相关的链接.

  1. 介绍Julia/Metaprogramming - Wikibooks,open ...元编程就是当你编写Julia代码来处理和修改Julia代码时.... @time宏在开头插入"启动秒表"命令...
  2. 我们的Invisible秒表促销 - 用于julia秒表的YouTube视频
  3. Julia Larson在推特上说:"这款#Mac OSX计时器/秒表是......
  4. 用秒表计时法国厨师的时间
  5. 朱莉娅格里菲斯| Oiselle为女性提供服装

我不知道为什么我没有想到只是尝试tic()toc().

Iai*_*ing 8

搜索中的朱莉娅文档

tic()

设置一个定时器,以便在下次调用toc()或读取时读取toq().宏调用@time expr也可用于时间评估.

  • 由于自从您回答以来 Julia 已经发生了变化,文档的链接已失效,并且“tic”和“toc”已被弃用。如果可以的话,更新一下就太好了。谢谢。 (2认同)

Joh*_*son 8

tic()自https://github.com/JuliaLang/julia/commit/1b023388f49e13e7a42a899c12602d0fd5d60b0a起已toc()弃用

您可以通过将更长的块包装在环境中来使用@elapsed和,如下所示:@time

t = @elapsed begin
    ...
end
Run Code Online (Sandbox Code Playgroud)

还有TickTock.jl,它重新实现了tic()andtoc()tick()and tock()

using TickTock
tick()
# Started timer at 2017-12-13T22:30:59.632
tock()
# 55.052638936 ms: 55 seconds, 52 milliseconds
Run Code Online (Sandbox Code Playgroud)