Description Usage Arguments Details Value Examples
Low level interface for pbdPAPI.
1 2 3 4 5 | papi.start(events)
papi.stop(events)
system.event(expr, events, gcFirst = TRUE, burnin = TRUE)
|
events |
A vector of PAPI events (as strings). See details section for more information. |
expr |
A valid R expression to be profiled. |
gcFirst |
logical; determines if garbage collection should be called before profiling. |
burnin |
logical; determines if the function should first be evaluated with an empty expression. This can be especially important for measuring cache effects. |
This is the low-level interface for accessing hardware counters, and should look somewhat similar to PAPI's own low-level interface. This offers a great deal of control, at the expense of ease of use. If you are new to pbdPAPI and/or PAPI, it is recommended that you start with the higher level interfaces.
To use, you should first construct an events vector, which consists of a set of pre-specified strings (listed in detail below; scroll down, you can't miss it). For example, if you want to profile level 1 and level 2 data cache misses, you would set
events <- c("PAPI_L1_DCM", "PAPI_L2_DCM")
|
You would then enclose the code you wish to profile with a call to
papi.start(events), call that code, then call
papi.stop(events) to end profiling.
Another version of the low-level interface is in the system.event()
function, which has syntax reminiscent of system.time(). Using this
instead of papi.start() and papi.stop() in the above example,
you would instead call system.event(expr, events), where expr
is the valid R expression you want profiled.
The results of the requested PAPI events are returned, in a named list, with values stored in double precision.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.