【发布时间】:2017-07-06 11:25:22
【问题描述】:
我正在寻找一种优雅的方式来定时执行 R 块,最好在后台自动运行块多次。 (Python notebook 中的魔术函数%%timeit 正是这样做的)
我知道有几种方法可以为一个 R 函数或一堆 R 代码计时,并且上面也有 few SO questions。所有方法都在this 文章中进行了描述。
但是,它们中的大多数不复制 r 代码,并且可以选择复制的代码(如 system.time 或 mircobenchbark)非常适合在函数上使用,而不是在代码块上使用。 (或者可能是我不明白)
tictoc 对我来说效果很好,除了它只会为单次执行提供运行时间,但没有选择运行 1000 次和平均运行时间。 (又是 %%timeit 的作用)
【问题讨论】:
-
只需将代码放在大括号
{ your code here }和system.time或microbenchmark中即可。像system.time({block of code})一样,它可以跨越多行。您还可以将其包装在一个函数中并通过名称调用该函数以获得更简洁的测试界面。 -
谢谢@lmo。是的,这就是我认为的解决方法。我希望会有更优雅的方式。很高兴现在得到确认。
-
可能存在一个更奇特的带有包的方法,但我就是这样做的。实现起来很简单。你可以看看
profVis包。如果我没记错的话,它会生成可能很吸引人的图表等。
标签: r runtime timing chunks timeit