cc_staff
823
edits
(Heavier workload for the doParallel example) |
(Link to Scalability) |
||
Line 279: | Line 279: | ||
=== doParallel and foreach === <!--T:39--> | === doParallel and foreach === <!--T:39--> | ||
====Usage==== | ====Usage==== | ||
Foreach can be considered as a unified interface for all backends (i.e. doMC, doMPI, doParallel, doRedis, etc.). It works on all platforms, assuming that the backend works. doParallel acts as an interface between foreach and the parallel package and can be loaded alone. There are some known efficiency issues when using foreach to run a very large number of very small tasks. Therefore, keep in mind that the following code is not the best example of an optimized use of the foreach() call but rather that the function chosen was kept at a minimum for demonstration purposes. | Foreach can be considered as a unified interface for all backends (i.e. doMC, doMPI, doParallel, doRedis, etc.). It works on all platforms, assuming that the backend works. doParallel acts as an interface between foreach and the parallel package and can be loaded alone. There are some [[Scalability|known efficiency issues]] when using foreach to run a very large number of very small tasks. Therefore, keep in mind that the following code is not the best example of an optimized use of the foreach() call but rather that the function chosen was kept at a minimum for demonstration purposes. | ||
<!--T:48--> | <!--T:48--> | ||
Line 288: | Line 288: | ||
# to register the backend; | # to register the backend; | ||
# to call foreach() by keeping it on the same line as the %do% (serial) or %dopar% operator. | # to call foreach() by keeping it on the same line as the %do% (serial) or %dopar% operator. | ||
====Running==== <!--T:40--> | ====Running==== <!--T:40--> | ||