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