…by doing as little work as possible
February 2, 2018
Rprof &
profvisReserving flights
Results took > 20 seconds!
It’s OK.
Best done casually!
Optimizing slowest thing gives highest payoff
Rprof and profvisRprof: sample what R is doing
ggplot2, dplyr)profvis: visualize Rprof outputprofvis in actionprofvis Demoexample_apps/profvis_demo

cran_explorer/
├── app.R
├── deps.csv
├── packages.csv
├── plot_cache.R
└── utils.Rapp.R: Shiny appdeps.csv, packages.csv: dataplot_cache.R: Disk-based plot cacheutils.R: Download, prepare .csv filesutils.R for downloading .csv filesreactiveVals on
app.R startupdplyr used to search, filterggplot2 used for plotsdplyr::group_by()
group_by()takes an existing tbl and converts it into a grouped tbl where operations are performed “by group”.
group_by() examplefilter() after group_by() Slowdownfilter applied only to mtcarsfilter applied to each groupreactive| expr | mean | 
|---|---|
| read_csv("packages.csv") | 661.4826 | 
| readRDS("packages.rds") | 851.1554 | 
server function)
plotCache: read-through cache for plots