♣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.