R pipelines (|>
) allow chaining operations in a
readable, sequential way. Existing timing tools
(e.g. system.time()
, tictoc
) do not integrate
naturally with pipelines and tidy workflows. pipetime
solves this by letting you measure time inline, without interrupting the
pipeline.
system.time()
# Must wrap the entire pipeline, breaking the flow
the_time <- system.time({
df <- data.frame(x = 1:3) |>
mutate(y = slow_op(x)) |>
summarise(mean_y = mean(y))
})
the_time
#> user system elapsed
#> 0.002 0.000 0.107
df
#> mean_y
#> 1 4.666667
# system.time() cannot be inserted inline in a pipeline:
data.frame(x = 1:3) |>
mutate(y = slow_op(x)) |>
# system.time() would break the pipeline here
summarise(mean_y = mean(y))
#> mean_y
#> 1 4.666667
tictoc
pipetime
?Works directly inside pipelines.
Supports multiple checkpoints.
Prints or logs timings in .pipetime_env
(see
?get_log
).