朱莉娅的秒表功能

时间:2015-07-20 20:39:04

标签: julia

在MATLAB中,有一对函数tictoc 可用于启动和停止秒表计时器。 摘自link

的示例
tic
A = rand(12000, 4400);
B = rand(12000, 4400);
toc
C = A'.*B';
toc

我知道Julia中有一个宏@time 它具有类似的功能。

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

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

我尝试了什么

当我用Google搜索" julia秒表"时, 我发现了一个有用的链接和四个不相关的链接。

  1. 介绍Julia / Metaprogramming - Wikibooks,open ... 元编程是指编写Julia代码以处理和修改Julia代码。 ... @time宏插入"启动秒表"开头的命令......
  2. 我们的隐形秒表促销 - YouTube 视频为朱莉娅秒表
  3. Julia Larson在Twitter上:"这款#Mac OSX计时器/秒表是......
  4. 带秒表的法国厨师的定时剧集
  5. julia griffith | Oiselle为女性提供服装
  6. 我不知道为什么我没想到只是尝试tic()toc()

2 个答案:

答案 0 :(得分:8)

来自search

Julia documentation
  

tic()

     

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

答案 1 :(得分:1)

from itertools import islice greater = [y for x,y in zip(a,islice(a,1,None)) if x < y] tic()https://github.com/JuliaLang/julia/commit/1b023388f49e13e7a42a899c12602d0fd5d60b0a起已弃用

您可以将toc()@elapsed用于较长的块,方法是将它们包装在环境中,如下所示:

@time

还有TickTock.jl,它重新实现了t = @elapsed begin ... end tic()以及toc()tick()

tock()