♣37♣Parallel Computing
It may happen that running your code takes an impractical1 amount of time. If the calculations do not depend on each other’s outcome then the calculations can be run in parallel.
In its standard mode, R is single threaded and all operations go through one processor. The package
parallel
allows us to split the runtime of a loop over different cores available on our system. Note that the library
parallel
is part of core-R and hence does not need to be installed, so we can load it immediately.
So, the computer that was used to compile this book has 12 cores at its disposal. Larger computers have vast arrays of CPUs to which calculations can be dispatched and the library
parallel
provides exactly the tools to use that multitude of cores to our advantage. The function
mclapply()
that is an alternative to
lapply()
that can use multiple cores.
The following code illustrates how simple we can use multiple cores with the function
mcapply()
, and we will also time the gains with the function
system.time()
.
Get The Big R-Book now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.