3 options
R high performance programming : overcome performance difficulties in R with a range of exciting techniques and solutions / Aloysius Lim, William Tjhi.
- Format:
- Book
- Author/Creator:
- Lim, Aloysius, author.
- Tjhi, William, author.
- Series:
- Community experience distilled.
- Community Experience Distilled
- Language:
- English
- Subjects (All):
- R (Computer program language).
- Physical Description:
- 1 online resource (176 p.)
- Edition:
- 1st ed.
- Place of Publication:
- Birmingham, England : Packt Publishing, 2015.
- Language Note:
- English
- System Details:
- Mode of access: World Wide Web.
- Summary:
- This book is for programmers and developers who want to improve the performance of their R programs by making them run faster with large data sets or who are trying to solve a pesky performance problem.
- Contents:
- Cover; Copyright; Credits; About the Authors; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Understanding R's Performance - Why Are R Programs Sometimes Slow?; Three constraints on computing performance - CPU, RAM, and disk I/O; R is interpreted on the fly; R is single-threaded; R requires all data to be loaded into memory; Algorithm design affects time and space complexity; Summary; Chapter 2: Profiling - Measuring Code's Performance; Measuring the total execution time; Measuring execution time with system.time(); Repeating time measurements with rbenchmark
- Measuring distribution of execution time with microbenchmarkProfiling the execution time; Profiling a function with Rprof(); The profiling results; Profiling the memory utilization; Monitoring memory utilization, CPU utilization, and disk I/O using OS tools; Identifying and resolving bottlenecks; Summary; Chapter 3: Simple Tweaks to Make R Run Faster; Vectorization; Use of built-in functions; Preallocating memory; Use of simpler data structures; Use of hash tables for frequent lookups on large data; Seek fast alternative packages in CRAN; Summary
- Chapter 4: Using Compiled Code for Greater SpeedCompiling R code before execution; Compiling functions; Just-in-time (JIT) compilation of R code; Using compiled languages in R; Prerequisites; Including compiled code inline; Calling external compiled code; Considerations for using compiled code; The R APIs; R data types versus native data types; Creating R objects and garbage collection; Allocating memory for non-R objects; Summary; Chapter 5: Using GPUs to Run R Even Faster; General purpose computing on GPUs; R and GPUs; Installing gputools; Fast statistical modeling in R with gputools
- SummaryChapter 6: Simple Tweaks to Use Less RAM; Reusing objects without taking up more memory; Removing intermediate data when it is no longer needed; Calculating values on the fly instead of storing them persistently; Swapping active and non-active data; Summary; Chapter 7: Processing Large Datasets with Limited RAM; Using memory-efficient data structures; Smaller data types; Sparse matrices; Symmetric matrices; Bit vectors; Using memory-mapped files and processing data in chunks; The bigmemory package; The ff package; Summary; Chapter 8: Multiplying Performance with Parallel Computing
- Data parallelism versus task parallelismImplementing data parallel algorithms; Implementing task parallel algorithms; Running the same task on workers in a cluster; Running different tasks on workers in a cluster; Executing tasks in parallel on a cluster of computers; Shared memory versus distributed memory parallelism; Optimizing parallel performance; Summary; Chapter 9: Offloading Data Processing to Database Systems; Extracting data into R versus processing data in a database; Preprocessing data in a relational database using SQL; Converting R expressions into SQL; Using dplyr
- Using PivotalR
- Notes:
- Includes index.
- Includes bibliographical references and index.
- Description based on online resource; title from PDF title page (ebrary, viewed February 11, 2015).
- ISBN:
- 9781783989270
- 1783989270
- OCLC:
- 902836197
The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.