packagelistenv
虽然 package:listenv
实现了一个类似于列表的环境接口,但是它的相对于类似哈希的环境的性能在哈希检索上很差 。但是,如果索引是数字索引,则检索速度非常快。但是,它们还具有其他优点,例如与 package:future
的兼容性。为此目的涵盖此包超出了当前主题的范围。但是,此处提供的时序代码可以与 package 的示例结合使用:hash for write timing。
timingsListEnv <- plyr::adply(2^(10:15),.mar=1,.fun=function(i){
strings <- unique_strings(i)
le <- listenv::listenv()
lapply(strings, function(s) le[[s]] <<- 0L)
data.frame(
size=c(i,i),
seconds=c(
system.time(for (k in 1:i) le[[k]]==0L)[3]),
type = c('2_numericListEnv')
)
})