[R-sig-hpc] Question on foreach package
Megh Dal
megh700004 at yahoo.com
Mon Jul 18 21:25:59 CEST 2011
As per the documentation of foreach package, if I use "%dopar%" then computation happens parallaly and on the contrary for %do%", it happens sequentially. Here, I tried both "%dopar%" and "%do%" for one of the examples given in the help page of ?foreach:
> a <- matrix(1:1600, 40, 40)
> b <- t(a)
> system.time(foreach(b=iter(b, by='col'), .combine=cbind) %dopar% (a %*% b))
user system elapsed
0.04 0.00 0.05
> a <- matrix(1:1600, 40, 40)
> b <- t(a)
> system.time(foreach(b=iter(b, by='col'), .combine=cbind) %do% (a %*% b))
user system elapsed
0.05 0.00 0.05
However surprisingly, I did not see any improvement in the computation time. I am using windows vista with dual core CPU (I think it is dual core as when I open Task manager -> Performance, I see there are 2 windows for CPU Usage History......... I am correct that it is dual core, right?) Therefore as it is dual core, shouldn't the computation time with "%dopar%" will be half of "%do%"?
Am I missing something?
Your help will be highly appreciated.
Thanks
More information about the R-sig-hpc
mailing list