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