♣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().
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access