Title: | Monitor the Total and Peak RAM Used by an Expression or Function |
---|---|
Description: | When working with big data sets, RAM conservation is critically important. However, it is not always enough to just monitor the size of the objects created. So-called "copy-on-modify" behavior, characteristic of R, means that some expressions or functions may require an unexpectedly large amount of RAM overhead. For example, replacing a single value in a matrix duplicates that matrix in the back-end, making this task require twice as much RAM as that used by the matrix itself. This package makes it easy to monitor the total and peak RAM used so that developers can quickly identify and eliminate RAM hungry code. |
Authors: | Thomas Quinn [aut, cre] |
Maintainer: | Thomas Quinn <[email protected]> |
License: | GPL-2 |
Version: | 1.0.3 |
Built: | 2024-10-31 21:14:09 UTC |
Source: | https://github.com/tpq/peakram |
This function monitors the total and peak RAM used by any number of R expressions or functions.
peakRAM(...)
peakRAM(...)
... |
R expressions or function calls. Anonymous functions
(e.g., |
When working with big datasets, RAM conservation is critically
important. However, it is not always enough to just monitor the
size of the objects created. So-called "copy-on-modify" behavior,
characteristic of R, means that some expressions or functions may
require an unexpectedly large amount of RAM overhead. For example,
replacing a single value in a matrix (e.g., with '[<-'
)
duplicates that matrix in the backend, making this task
require twice as much RAM as that used by the matrix itself.
The peakRAM
package makes it easy to monitor the total
and peak RAM used so that developers can quickly identify and
eliminate RAM hungry code.
A data.frame
tallying total and peak RAM use.
peakRAM(function() 1:1e7, 1:1e7, 1:1e7 + 1:1e7, 1:1e7 * 2)
peakRAM(function() 1:1e7, 1:1e7, 1:1e7 + 1:1e7, 1:1e7 * 2)