Changes in version 2026.4.2

- 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().

Changes in version 2026.4.1

- predict() uses cummin(), issue107 data and fix.

Changes in version 2025.9.30

- Build vignettes and atime-docs.netlify.app using litedown.

Changes in version 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).

Changes in version 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).

Changes in version 2025.8.26

- Remove cumstats from Suggests (PR#90).

Changes in version 2025.5.24

- atime_pkg() sorts tests by N.factor in addition to P.value (PR#78).

Changes in version 2025.5.12

- 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).

Changes in version 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).

Changes in version 2025.4.1

- add label column to predictions table, with commas for thousands, etc. (PR#75)

Changes in version 2025.1.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      4.716  0.172   1.889 2.588
* 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

Changes in version 2024.12.4

- fixes #73, seconds.limit=Inf in test, for CRAN.

Changes in version 2024.12.3

- atime errors if user provides duplicate N values.
- predict(length=100) in sparse vignette, for CRAN.

Changes in version 2024.11.29

- use seconds.limit=Inf in test, for CRAN.

Changes in version 2024.11.19

- comment predict(kilobytes) in sparse vignette, for CRAN.

Changes in version 2024.11.15

- 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.

Changes in version 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

Changes in version 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().

Changes in version 2024.10.5

- bugfix: atime_test again outputs historical versions which were specified in ...

Changes in version 2024.10.3

- 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.

Changes in version 2024.9.27

- atime_pkg tests_preview_facet.png width fixed/smaller (was same as width of tests_all_facet.png).

Changes in version 2024.9.25

- 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).

Changes in version 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.

Changes in version 2024.8.11

- atime_test_list evaluates any arguments that are copied to each test, except setup and expr.

Changes in version 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.

Changes in version 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.

Changes in version 2024.7.12

- atime_versions has default_N(), same as atime.

Changes in version 2024.5.17

- atime_versions_exprs better error message, one instance of pkg:: (two colons instead of one), thanks @MichaelChirico for the suggestion.

Changes in version 2024.4.23

- 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.

Changes in version 2024.4.17

- 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.

Changes in version 2024.4.12

- atime_pkg gains tests.dir arg, thanks @MichaelChirico for the suggestion.
- atime no longer keeps memory column (sometimes too large) from bench::mark.

Changes in version 2024.3.5

- if(requireNamespace("nc")) in tests, thanks CRAN.

Changes in version 2024.2.13

- atime_grid gains new argument symbol.params, and more informative error messages.

Changes in version 2024.1.31

- 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.

Changes in version 2024.1.24

- improved documentation for atime_versions and atime_versions_exprs.
- results argument of atime_versions renamed to result, for consistency with atime.

Changes in version 2023.12.4

- improved documentation for atime_pkg, which clarifies that SHA versions and pkg.edit.fun may be specified in test.list elements.

Changes in version 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.

Changes in version 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.

Changes in version 2023.4.27

- predict.references_best(kilobytes=1000) etc.

Changes in version 2023.3.31

- delete test which failed on CRAN.

Changes in version 2023.3.30

- atime_grid(list(VAR="one value")) no longer errors.

Changes in version 2023.1.24

- new function atime_pkg with vignette ci.Rmd.

Changes in version 2022.12.14

- new function atime_grid.
- atime argument results changed to result to be consistent with result column of output.

Changes in version 2022.9.16

- if(FALSE) in atime_versions*.Rd examples, for CRAN.

Changes in version 2022.9.8

- git vignette uses eval=F, .libPaths under /tmp, for CRAN.
- try() in binseg and cum_median vignettes, for CRAN.

Changes in version 2022.8.25

- remove callr in examples (keep in vignette).

Changes in version 2022.8.24

- CRAN suggestions.

Changes in version 2022.8.16

- use callr in examples/vignettes to avoid CRAN warnings.

Changes in version 2022.7.26

- new vignette: data.table.
- new atime_versions_exprs function.

Changes in version 2022.7.22

- new vignette: git.
- new atime_versions function.

Changes in version 2022.7.20

- new vignettes: cum_median, PeakSegDisk.
- new references_best function.

Changes in version 2022.7.13

- initial version with atime function.
- vignettes: regex, binseg, optseg.