TIC TOC недостаточно точен, чтобы сказать мне, какая из этих двух строк кода самая быстрая - PullRequest
0 голосов
/ 11 июля 2019

Я выполняю этот код в 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]

Я пытался использовать тик() toc (), чтобы получить время, но оба возвращают истекшее время: 0,00000000 секунд.

1 Ответ

1 голос
/ 11 июля 2019

Запуск каждого куска кода сразу, попробуйте использовать:

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-тест, чтобы увидеть, значительно ли отличаются средства.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...