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')
    )
})