| Title: | Tools to Time Pipe Operations |
|---|---|
| Description: | Enable users to measure and record the execution time of pipe operations (using |>) with optional logging to dataframes and output to the console. |
| Authors: | Cyril Geismar [aut, cre, cph] (ORCID: <https://orcid.org/0000-0002-8486-5890>) |
| Maintainer: | Cyril Geismar <[email protected]> |
| License: | MIT + file LICENSE |
| Version: | 0.0.1 |
| Built: | 2026-05-17 08:48:32 UTC |
| Source: | https://github.com/cygei/pipetime |
Return a stored timing log from .pipetime_env.
If log = NULL, return all logs as a named list.
get_log(log = NULL)get_log(log = NULL)
log |
Character string or |
Either:
A data frame with columns:
timestamp (POSIXct): Pipeline start time
label (character): Operation label
duration (numeric): Elapsed time since pipeline start
unit (character): Time unit used
Or, if log = NULL, a named list of such data frames.
Delete a timing log from .pipetime_env.
If log = NULL, all logs are removed, but only when force = TRUE.
rm_log(log = NULL, force = FALSE)rm_log(log = NULL, force = FALSE)
log |
Character string or |
force |
Logical. To remove all logs, |
Invisibly, TRUE.
Records the runtime of a pipeline (|>) from its start to the point where time_pipe() is called.
Prints results to the console and/or logs them in .pipetime_env.
Defaults can be set via options(pipetime.*).
time_pipe( .data, label = NULL, log = getOption("pipetime.log", NULL), console = getOption("pipetime.console", TRUE), unit = getOption("pipetime.unit", "secs") )time_pipe( .data, label = NULL, log = getOption("pipetime.log", NULL), console = getOption("pipetime.console", TRUE), unit = getOption("pipetime.unit", "secs") )
.data |
Input object passed through the pipeline. |
label |
Character string. Operation name. Defaults to the expression if |
log |
Character string or |
console |
Logical. Print timing to console? Default: |
unit |
Character string. Time unit for |
time_pipe() measures elapsed time from pipeline start to the call.
If log is set, results are appended to a data frame in .pipetime_env with columns:
timestamp: Pipeline start time (POSIXct)
label: Operation label
duration: Elapsed time since pipeline start (numeric)
unit: Time unit used
Stored logs can be retrieved with get_log().
.data, unchanged. Timing information is printed and/or stored separately.
library(dplyr) data.frame(x = 1:3) |> mutate(y = {Sys.sleep(0.5); x*2 }) |> time_pipe("calc 1") |> mutate(z = {Sys.sleep(0.5); x/2 }) |> time_pipe("total pipeline")library(dplyr) data.frame(x = 1:3) |> mutate(y = {Sys.sleep(0.5); x*2 }) |> time_pipe("calc 1") |> mutate(z = {Sys.sleep(0.5); x/2 }) |> time_pipe("total pipeline")