Changelog
Source:NEWS.md
bench 1.1.4
press()gains a new.quietargument to silence progress messages (#145).The
.gridargument ofpress()now subsets data.frames and tibbles consistently (#142).bench_time_trans()andbench_bytes_trans()once again apply pretty breaks correctly (#140, @plietar, @simonpcouch).R >=4.0.0 is now required, which is aligned with tidyverse standards.
Switched to modern ggplot2 conventions internally (#141, @olivroy).
bench 1.1.3
CRAN release: 2023-05-04
Long unnamed
bench_exprexpressions are now truncated correctly when used as columns of a tibble (#94).bench_marktibbles now respect the knitr paged df option (#103).Fixed an issue where macOS specific C code paths were accidentally being used on GNU Hurd (#118).
Fixed
-Wstrict-prototypeswarnings, as requested by CRAN (#124).R >=3.5.0 is now required, which is aligned with tidyverse standards.
bench now uses testthat 3e (#129).
bench no longer Suggests mockery.
bench 1.1.2
CRAN release: 2021-11-30
Davis Vaughan is now the maintainer.
autoplot.bench_mark()again supports factor levels forexpression, as intended (#82)bench::mark()andbench::workout()no longer support unquote and splice operators. This fixes inconsistencies in performance results with functions likerlang::list2()(#61).bench has been re-licensed as MIT (#101).
bench 1.1.1
CRAN release: 2020-01-13
-
mark()columns memory, result and mem_alloc columns are now always included, even if they are unused.
bench 1.1.0
CRAN release: 2020-01-10
New features
New
bench_process_memory()function, to return the current and maximum memory used by the current process. This uses system functions to track memory, so can measure memory outside of R’s GC heap.New
workout_expressions()function, a low-level function to workout a list of expressions, like those obtained viaparse()from a file.mark()gains amemoryargument to control if it records memory allocations, setmemory = FALSEto disable recording memory allocations, which can be helpful when trying to benchmark long pieces of code with many allocations (#62).
Minor improvements and fixes
mark()now permits empty arguments, e.g. accidental trailing commas (#61).mark()now errors correctly when the expressions deparsed length is different.bench_exprobjects now work better with the upcoming versions of tibble and vctrs (@romainfrancois, #64)autoplot.bench_mark()provides a more informative error if theggbeeswarmpackage is not installed (@coatless, #69).Update documentation of
bench_markcolumns (@jdblischak, #67).
bench 1.0.4
CRAN release: 2019-09-06
bench_memory()examples no longer fail if they are run with R that does not have memory profiling capability (#56).bench_exprnow has a class ofc("bench_expr", "list")rather thanc("bench_expr", "expression"), as it is really a list of calls rather than a true expression object. (https://github.com/r-lib/vctrs/issues/559)
bench 1.0.3
CRAN release: 2019-08-28
summary.bench_mark()gains atime_unitargument, so you can report all times in a consistent scale if desired (#18, #26).bench_mark()now checks for user interrupts, to allow you to stop benchmarking if it takes longer than you were expecting (#49).New
bench_memory()to capture just the memory allocated by an expression.bench_time()is now an alias forsystem_time().unnest.bench_mark()is now compatible with the upcoming tidyr 1.0.0 (#48, #51)New
hires_time()allows you to explicitly capture high resolution time points.
bench 1.0.2
CRAN release: 2019-04-29
workout()a new function which makes timing multiple expressions in turn simpler.mark()now internally uses a tempfile rather than a textConnection, as the latter has a 100,000 character limit on some platforms (#27)mark()no longer returns the mean or max values and the column order has been tweaked to try and put the most interesting columns first (#37)scale_bench_time()andscale_bench_bytes()now allow you to use a non-logarithmic scale.