在将非常频繁地调用的函数中包含library
/语句是否有任何不利影响?require
使用的时间似乎可以忽略不计,但我每隔几分钟就调用一次函数,我想知道重复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