TIC TOC不够准确,无法告诉我这两行代码中最快的

时间:2019-07-11 16:28:03

标签: r performance dataframe

我正在R中运行此代码,其中df是数据帧:

x = df[df$column_one > 0, ][1,2] / df[df$column_one > 0, ][1,1]

我想知道这是否会更快:

tf = df$column_one > 0
x = df[tf, ][1,2] / df[tf > 0, ][1,1]

我尝试使用tic()toc()来获取时间,但是两者都返回经过的时间:0.00000000秒。

1 个答案:

答案 0 :(得分:1)

一次运行每个代码块,请尝试使用:

t0 <- Sys.time()

x = df[df$column_one > 0, ][1,2] / df[df$column_one > 0, ][1,1]

t1 <- Sys.time() - t0

t1
t2 <- Sys.time()

tf = df$column_one > 0
x = df[tf, ][1,2] / df[tf > 0, ][1,1]

t3 <- Sys.time() - t2

t3

如果代码执行迅速(例如,微秒),则运行具有数千次迭代的大型循环可能也很有用。您可以进行t检验以查看均值是否存在显着差异。