What this book covers
Chapter 1, Understanding R's Performance – Why Are R Programs Sometimes Slow?, kicks off our journey by taking a peek under R's hood to explore the various ways in which R programs can hit performance limits. We will look at how R's design sometimes creates performance bottlenecks in R programs in terms of computation (CPU), memory (RAM), and disk input/output (I/O).
Chapter 2, Profiling – Measuring Code's Performance, introduces a few techniques that we will use throughout the book to measure the performance of R code, so that we can understand the nature of our performance problems.
Chapter 3, Simple Tweaks to Make R Run Faster, describes how to improve the computational speed of R code. These are basic techniques that you can use in any R program.
Chapter 4, Using Compiled Code for Greater Speed, explores the use of compiled code in another programming language such as C to maximize the performance of our computations. We will see how compiled code can perform faster than R, and look at how to integrate compiled code into our R programs.
Chapter 5, Using GPUs to Run R Even Faster, brings us to the realm of modern accelerators by leveraging Graphics Processing Units (GPUs) to run complex computations at high speed.
Chapter 6, Simple Tweaks to Use Less RAM, describes the basic techniques to manage and optimize RAM utilization of your R programs to allow you to process larger datasets.
Chapter 7, Processing Large Datasets with Limited RAM, explains how to process datasets that are larger than the available RAM using memory-efficient data structures and disk resident data formats.
Chapter 8, Multiplying Performance with Parallel Computing, introduces parallelism in R. We will explore how to run code in parallel in R on a single machine and on multiple machines. We will also look at the factors that need to be considered in the design of our parallel code.
Chapter 9, Offloading Data Processing to Database Systems, describes how certain computations can be offloaded to an external database system. This is useful to minimize Big Data movements in and out of the database, and especially when you already have access to a powerful database system with computational power and speed for you to leverage.
Chapter 10, R and Big Data, concludes the book by exploring the use of Big Data technologies to take R's performance to the limit.
If you are in a hurry, we recommend that you read the following chapters first, then supplement your reading with other chapters that are relevant for your situation:
- Chapter 1, Understanding R's Performance – Why Are R Programs Sometimes Slow?
- Chapter 2, Profiling – Measuring Code's Performance
- Chapter 3, Simple Tweaks to Make R Run Faster
- Chapter 6, Simple Tweaks to Use Less RAM