R 使用相同的对象高效地填充列表

R 使用相同的对象高效地填充列表,r,list,memory-management,R,List,Memory Management,假设我有一些对象(任何对象),例如: X <- array(NA,dim=c(2,2)) X使用复制即使它仍然是一种循环解决方案: L <- replicate(1000,X,simplify=FALSE) L列出1并复制它 L <- rep(list(x), 1000) L X <- array(NA,dim=c(2,2)) library(microbenchmark) microbenchmark( rep(list(X), 10000),

假设我有一些对象(任何对象),例如:

X <- array(NA,dim=c(2,2))

X使用
复制
即使它仍然是一种循环解决方案:

L <- replicate(1000,X,simplify=FALSE)

L列出1并复制它

L <- rep(list(x), 1000)
L
X <- array(NA,dim=c(2,2))
library(microbenchmark)
microbenchmark( rep(list(X), 10000),
               replicate(10000,X,simplify=FALSE))

                              expr      min       lq    median        uq      max neval
                  rep(list(X), 10000) 1.743070 2.114173  3.088678  5.178768 25.62722   100
replicate(10000, X, simplify = FALSE) 5.977105 7.573593 10.557783 13.647407 80.69774   100
L <- rep(list(x), 1000)