Method 1

n_sim = 1000
n_trees = 10
MP = matrix(nrow=n_sim,ncol=3)
RP = matrix(nrow=n_sim,ncol=3)
p = proc.time()
for(i in 1:n_sim){
  est = sim_est(n_trees=n_trees, rec_method=1, seed=i)
  RP[i,] = est$real
  MP[i,] = est$est
}
print(proc.time()-p)
##    user  system elapsed 
## 849.764   0.368 850.412
par_est_vis(P=MP,par=1,PR=RP)

par_est_vis(P=MP,par=2,PR=RP)

par_est_vis(P=MP,par=3,PR=RP)
## [1] "0.004 proportion of data was excluded for vizualization purposes"

summary(MP)
##        V1               V2                V3           
##  Min.   :0.3655   Min.   :0.03966   Min.   :2.800e+01  
##  1st Qu.:0.7143   1st Qu.:0.07969   1st Qu.:4.000e+01  
##  Median :0.7840   Median :0.09009   Median :4.100e+01  
##  Mean   :0.7891   Mean   :0.09231   Mean   :4.255e+10  
##  3rd Qu.:0.8630   3rd Qu.:0.10266   3rd Qu.:4.200e+01  
##  Max.   :1.2343   Max.   :0.21601   Max.   :4.255e+13

parallel:

no_cores <- detectCores()- 1 
cl <- makeCluster(no_cores)
registerDoParallel(cl)

n_sim = 1000
n_trees = 10
MP = matrix(nrow=n_sim,ncol=3)
RP = matrix(nrow=n_sim,ncol=3)
p = proc.time()
ests <- foreach(i = 1:n_sim, .combine=data.frame,.packages='dmea') %dopar% sim_est(n_trees=n_trees,rec_method=1,seed=i)
print(proc.time()-p)
##    user  system elapsed 
##   2.628   0.064 323.851
for (i in 1:n_sim){
  RP[i,] = ests[,(2*i-1)]
  MP[i,] = ests[,2*i]
}
stopCluster(cl)
par_est_vis(P=MP,par=1,PR=RP)

par_est_vis(P=MP,par=2,PR=RP)

par_est_vis(P=MP,par=3,PR=RP)
## [1] "0.004 proportion of data was excluded for vizualization purposes"

summary(MP)
##        V1               V2                V3           
##  Min.   :0.3655   Min.   :0.03966   Min.   :2.800e+01  
##  1st Qu.:0.7143   1st Qu.:0.07969   1st Qu.:4.000e+01  
##  Median :0.7840   Median :0.09009   Median :4.100e+01  
##  Mean   :0.7891   Mean   :0.09231   Mean   :4.255e+10  
##  3rd Qu.:0.8630   3rd Qu.:0.10266   3rd Qu.:4.200e+01  
##  Max.   :1.2343   Max.   :0.21601   Max.   :4.255e+13

now for sets of 100 trees

no_cores <- detectCores()- 1 
cl <- makeCluster(no_cores)
registerDoParallel(cl)

n_sim = 1000
n_trees = 100
MP = matrix(nrow=n_sim,ncol=3)
RP = matrix(nrow=n_sim,ncol=3)
p = proc.time()
ests <- foreach(i = 1:n_sim, .combine=data.frame,.packages='dmea') %dopar% sim_est(n_trees=n_trees,rec_method=1,seed=i)
print(proc.time()-p)
##     user   system  elapsed 
##    2.536    0.064 2576.031
for (i in 1:n_sim){
  RP[i,] = ests[,(2*i-1)]
  MP[i,] = ests[,2*i]
}
stopCluster(cl)
par_est_vis(P=MP,par=1,PR=RP)

par_est_vis(P=MP,par=2,PR=RP)

par_est_vis(P=MP,par=3,PR=RP)
## [1] "0.004 proportion of data was excluded for vizualization purposes"

summary(MP)
##        V1               V2                V3        
##  Min.   :0.3911   Min.   :0.04522   Min.   : 33.14  
##  1st Qu.:0.6787   1st Qu.:0.07975   1st Qu.: 40.14  
##  Median :0.7366   Median :0.09039   Median : 41.53  
##  Mean   :0.7362   Mean   :0.09228   Mean   : 41.57  
##  3rd Qu.:0.7950   3rd Qu.:0.10241   3rd Qu.: 42.90  
##  Max.   :1.0197   Max.   :0.21560   Max.   :100.91