Есть ли какой-либо неблагоприятный эффект для включения операторов library
/require
внутри функций, которые будут вызываться очень часто?
Используемое время кажется довольно небрежным, но я вызываю функцию каждые несколько минут, и мне интересно, есть ли недостатки для вызовов repetitve require
?
обратите внимание, что функция является только персональной утилитой и не используется. т.е. я использую его только
Кстати, любое представление о том, почему library
наполовину меньше, чем require
? У меня было такое впечатление, что они были синонимами.
WithREQUIRE <- function(x) {
require(stringr)
str_detect(x, "hello")
}
WithLIBRARY <- function(x) {
library(stringr)
str_detect(x, "hello")
}
Without <- function(x) {
str_detect(x, "hello")
}
x <- "goodbye"
library(rbenchmark)
benchmark(WithREQUIRE(x), WithLIBRARY(X), Without(x), replications=1e3, order="relative")
# test replications elapsed relative user.self sys.self
# Without(x) 1000 0.592 1.000 0.262 0.006
# WithREQUIRE(x) 1000 0.650 1.098 0.295 0.015
# WithLIBRARY(X) 1000 1.359 2.296 0.572 0.024