R-Help (and package author)
I'm trying to understand within the context of R what the benefit of using
an iterator is. My only goal in using the foreach package is to improve
computational speed with some embarrassingly parallel tasks I have to
compute.
I took the example found at the link below to provide a reproducible
example and ran it in a "conventional" way to iterate in a loop and the
timing suggests here (as well as with my actual project) that using an
iterator generates the same object, but at a much slower speed.
If I can get the same thing faster without using an iterator what would be
the potential of its use?
https://msdn.microsoft.com/en-us/microsoft-r/foreach
library(doParallel)
cl <- makeCluster(8)
registerDoParallel(cl)
x <- matrix(rnorm(1000000), ncol=1000)
itx <- iter(x, by='row')
system.time(r1 <- foreach(i=itx, .combine=c) %dopar% mean(i))
user system elapsed
0.40 0.08 0.87
system.time(r2 <- foreach(i= 1:nrow(x), .combine=c) %dopar% mean(x[i,]))
user system elapsed
0.41 0.03 0.81