Nothing
knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) # Suppress vignette title mismatch warning options(rmarkdown.html_vignette.check_title = FALSE)
library(pipetime) library(dplyr)
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.
slow_op <- function(x) { Sys.sleep(0.1) # Simulate a time-consuming operation x^2 }
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 df # 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))
tictoclibrary(tictoc) # Requires manual start/stop tic("total pipeline") df <- data.frame(x = 1:3) |> mutate(y = slow_op(x)) |> summarise(mean_y = mean(y)) toc() df
time_pipe# Inline timing checkpoints, pipeline stays intact data.frame(x = 1:3) |> mutate(y = slow_op(x)) |> time_pipe("after mutate") |> summarise(mean_y = mean(y)) |> time_pipe("total pipeline")
pipetime?Works directly inside pipelines.
Supports multiple checkpoints.
Prints or logs timings in .pipetime_env (see ?get_log).
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.