NEWS
atime 2026.5.29
- atime_pkg() now uses only a common subset of columns of the measurements table from each test, so that each test can have different units to analyze.
- atime_pkg() and atime_pkg_test_info() gain verbose arg.
- glob_find_replace() gains warn arg, to warn if there were no replacements made.
- atime_versions() runs setup using the HEAD commit (if present).
- atime_versions() bugfix for Rcpp packages that useDynLib(pkg) in NAMESPACE (without registration), new editing of PACKAGE args in R/RcppExports.R.
- atime() now allows different column names in 1-row result data frames, either in different expressions, or different N.
- atime() has new default result=NULL, meaning only keep 1-row result data frames.
atime 2026.4.2 (2026-04-04)
- atime_pkg() now sorts tests in facet plots to emphasize speedups, in addition to slowdowns. New pred.Nx used instead of N.factor (issue109 data and fix), as well as alternative="two.sided" instead of "greater" in t.test().
atime 2026.4.1
- predict() uses cummin(), issue107 data and fix.
atime 2025.9.30 (2025-10-21)
- Build vignettes and atime-docs.netlify.app using litedown.
atime 2025.9.13
- Internal functions introduced so that atime() and atime_grid() definitions require less than 100 lines of code (thanks to an anonymous R Journal reviewer for the suggestion, PR#93).
atime 2025.9.12
- atime_versions(CRAN="") uses installed version of package code (same as before), displays installed version number as "CRAN" on plots (instead of CRAN version number which was used previously without necessarily using the corresponding code), and now warns if those two versions are different (PR#91).
atime 2025.8.26
- Remove cumstats from Suggests (PR#90).
atime 2025.5.24 (2025-05-27)
- atime_pkg() sorts tests by N.factor in addition to P.value (PR#78).
atime 2025.5.12 (2025-05-20)
- atime_pkg() always produces tests_preview_facet.png, instead of only producing it if the number of tests is larger than N.tests.preview (PR#82).
atime 2025.4.26
- atime_versions() now works for an R package in a sub-directory of a git repo (package no longer needs to be in root of git repo). Thanks @TimTaylor for the idea in issue#79. (PR#80)
- PR#81: minor doc fixes, and use round() to avoid display of decimal places in label column of predictions table (bug introduced by PR#75).
atime 2025.4.1 (2025-04-09)
- add label column to predictions table, with commas for thousands, etc. (PR#75)
atime 2025.1.21 (2025-01-21)
- add setDTthreads to examples and tests to hopefully eliminate these on CRAN Debian:
* checking examples ... [20s/7s] NOTE
Examples with CPU (user + system) or elapsed time > 5s
user system elapsed
atime_grid 7.543 0.28 1.829
references_best 5.923 0.16 2.623
Examples with CPU time > 2.5 times elapsed time
user system elapsed ratio
atime_grid 7.543 0.280 1.829 4.277
atime 2024.12.4
- fixes #73, seconds.limit=Inf in test, for CRAN.
atime 2024.12.3
- atime errors if user provides duplicate N values.
- predict(length=100) in sparse vignette, for CRAN.
atime 2024.11.29 (2024-12-02)
- use seconds.limit=Inf in test, for CRAN.
atime 2024.11.19 (2024-11-26)
- comment predict(kilobytes) in sparse vignette, for CRAN.
atime 2024.11.15 (2024-11-18)
- only run tests that involve Matrix if it is available.
- row -> column names in error message for custom units.
- New feature: atime(result=fun) means that fun will be applied to the output of each expression, and that result will be saved. Useful when you want to specify a custom unit, with a function that returns a 1-row data frame, that can be applied to each expression.
atime 2024.11.8
- only run tests that involve plotting if ggplot2 is available, to fix CRAN noSuggests issue, https://github.com/tdhock/atime/issues/67
atime 2024.11.5
- new feature: atime_grid() stores a data table of parameters that were specified as input, with corresponding new column names in
- atime() measurements table,
- references_best() measurements and plot.references tables,
- predict() tables: measurements and predictions tables.
- new sparse vignette which shows how to make a custom plot with facets defined by variables that were used in atime_grid().
atime 2024.10.5 (2024-10-11)
- bugfix: atime_test again outputs historical versions which were specified in ...
atime 2024.10.3 (2024-10-04)
- atime_pkg generates files such as _test_name_.png with underscores instead of special characters such as > which are not supported on some file systems, including github actions (https://github.com/tdhock/atime/issues/62).
- atime and atime_versions gain N.env.parent arg, which is set by atime_pkg to environment created for evaluation of atime/tests.R code. N.env.parent is the parent env of N.env, the environment in which code is run for a given data size N. So now setup in tests can refer to variables defined in atime/tests.R.
atime 2024.9.27
- atime_pkg tests_preview_facet.png width fixed/smaller (was same as width of tests_all_facet.png).
atime 2024.9.25 (2024-09-27)
- atime_pkg creates tests_preview_facet.png if N.tests.preview (default 4, can be defined in atime/tests.R) is less than the number of test cases. It should be informative even when zoomed out, since it shows only the test cases which had smallest p-values (most significant differences between HEAD and min). Recommended for display as thumbnail/preview image with links to the larger tests_preview_all.png that includes all test results (which may not be readable/informative unless you zoom/scroll, if there are 10+ tests).
atime 2024.9.23
- atime_pkg_test_info returns un-evaluated calls to atime_versions, to make it easier to run one test at a time.
- atime_versions result list contains bench.seconds and install.seconds, to compare how much time is spent in each step. atime_pkg also writes total install time over all test cases to install_seconds.txt.
- atime_pkg tests_all_facet.png now has ggtitle with number of plots and p-value interpretation.
atime 2024.8.11
- atime_test_list evaluates any arguments that are copied to each test, except setup and expr.
atime 2024.8.8
- plot.references_best now only adds geom_hline if there is at least one row with unit=="seconds" in measurements or plot.references.
atime 2024.8.7
- list returned by references_best contains new element "plot.references" which was previously computed in plot method, and now can be changed by user, to customize the references shown by plot method.
atime 2024.7.12
- atime_versions has default_N(), same as atime.
atime 2024.5.17
- atime_versions_exprs better error message, one instance of pkg:: (two colons instead of one), thanks @MichaelChirico for the suggestion.
atime 2024.4.23 (2024-04-29)
- Fix test-CRAN.R: kilobytes is not available on some systems.
- added atime_test and atime_test_list for convenience in test definitions.
- atime_versions_exprs now errors if expr has no Package: in code.
atime 2024.4.17 (2024-04-22)
- New, simpler method for defining additional units to analyze (other than kilobytes and seconds): if result is data frame with 1 row, numeric columns are used as additional units. Arguments unit.col.vec and more.units have been removed from references_best.
- atime_pkg version names HEAD/base/CRAN defined in R color names are now translated to their expanded names on the plot (CRAN=1.15.0 etc), and default colors were added for Slow and Fast.
atime 2024.4.12 (2024-04-13)
- atime_pkg gains tests.dir arg, thanks @MichaelChirico for the suggestion.
- atime no longer keeps memory column (sometimes too large) from bench::mark.
atime 2024.3.5 (2024-03-08)
- if(requireNamespace("nc")) in tests, thanks CRAN.
atime 2024.2.13
- atime_grid gains new argument symbol.params, and more informative error messages.
atime 2024.1.31 (2024-02-01)
- modify predict tests to use length.num instead of kilobytes (fails on CRAN).
- improved error message for predict when unit value is out of range of data.
atime 2024.1.24 (2024-01-24)
- improved documentation for atime_versions and atime_versions_exprs.
- results argument of atime_versions renamed to result, for consistency with atime.
atime 2023.12.4
- improved documentation for atime_pkg, which clarifies that SHA versions and pkg.edit.fun may be specified in test.list elements.
atime 2023.11.11
- new function get_sha_vec, which is called in atime_versions_exprs, to check for correctly specified versions (new helpful errors when versions are not specified correctly)
- atime_versions_install now uses R CMD INSTALL instead of install.packages, so we can stop with an error if there was some problem with installation.
atime 2023.10.9
- default and errors for N in atime.
- warning if only one N evaluated in atime.
- error if no SHA specified in atime_versions.
- regex vignette/test uses re2 if present.
atime 2023.4.27
- predict.references_best(kilobytes=1000) etc.
atime 2023.3.31 (2023-04-03)
- delete test which failed on CRAN.
atime 2023.3.30 (2023-03-31)
- atime_grid(list(VAR="one value")) no longer errors.
atime 2023.1.24
- new function atime_pkg with vignette ci.Rmd.
atime 2022.12.14
- new function atime_grid.
- atime argument results changed to result to be consistent with result column of output.
atime 2022.9.16 (2022-09-19)
- if(FALSE) in atime_versions*.Rd examples, for CRAN.
atime 2022.9.8
- git vignette uses eval=F, .libPaths under /tmp, for CRAN.
- try() in binseg and cum_median vignettes, for CRAN.
atime 2022.8.25 (2022-08-27)
- remove callr in examples (keep in vignette).
atime 2022.8.24
atime 2022.8.16
- use callr in examples/vignettes to avoid CRAN warnings.
atime 2022.7.26
- new vignette: data.table.
- new atime_versions_exprs function.
atime 2022.7.22
- new vignette: git.
- new atime_versions function.
atime 2022.7.20
- new vignettes: cum_median, PeakSegDisk.
- new references_best function.
atime 2022.7.13
- initial version with atime function.
- vignettes: regex, binseg, optseg.
atime 4.716
- checking for unstated dependencies in ‘tests’ ... OK
- checking tests ... [26s/7s] NOTE
Running ‘testthat.R’ [26s/7s]
Running R code in ‘testthat.R’ had CPU time 3.6 times elapsed time