Mic*_*ele 5 performance namespaces r
我认为指定命名空间我做的R工作较少,但我可能错了
library(microbenchmark)
> microbenchmark(unique.default(c(1,1:10)),base::unique.default(c(1,1:10)))
Unit: microseconds
expr min lq median uq max neval
unique.default(c(1, 1:10)) 3.528 3.849 4.0095 4.170 12.509 100
base::unique.default(c(1, 1:10)) 11.546 12.188 12.5090 12.829 59.012 100
Run Code Online (Sandbox Code Playgroud)
第一个从base附加时创建的包环境中获取函数:
> "unique.default" %in% ls("package:base")
[1] TRUE
Run Code Online (Sandbox Code Playgroud)
第二个使用函数::从包命名空间中获取函数:
> `::`
function (pkg, name)
{
pkg <- as.character(substitute(pkg))
name <- as.character(substitute(name))
getExportedValue(pkg, name)
}
Run Code Online (Sandbox Code Playgroud)
看看这需要多少函数调用.
如果只需要一个函数,从命名空间获取它可能更有效.但是如果您需要反复使用它或需要包中的多个功能,您应该附加包.
| 归档时间: |
|
| 查看次数: |
69 次 |
| 最近记录: |