From a77ac736691f4469b7e8596139bffae6d2ae7194 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 10:39:02 +0100 Subject: [PATCH 01/14] Removal of testthat 'skip's --- tests/testthat/test-perf-meanDS.R | 4 ++-- tests/testthat/test-perf-varDS.R | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/testthat/test-perf-meanDS.R b/tests/testthat/test-perf-meanDS.R index 3cb30a2e..d6355336 100644 --- a/tests/testthat/test-perf-meanDS.R +++ b/tests/testthat/test-perf-meanDS.R @@ -26,7 +26,7 @@ set.standard.disclosure.settings() # context("meanDS::perf::numeric") test_that("numeric meanDS - performance", { - skip_on_cran() +# skip_on_cran() input <- c(0.0, 1.0, 2.0, 3.0, 4.0) @@ -61,7 +61,7 @@ test_that("numeric meanDS - performance", { # context("meanDS::perf::numeric with NA") test_that("numeric meanDS, with NA - performance", { - skip_on_cran() +# skip_on_cran() input <- c(0.0, NA, 2.0, NA, 4.0) diff --git a/tests/testthat/test-perf-varDS.R b/tests/testthat/test-perf-varDS.R index 3870f0f3..d7e2131c 100644 --- a/tests/testthat/test-perf-varDS.R +++ b/tests/testthat/test-perf-varDS.R @@ -26,7 +26,7 @@ set.standard.disclosure.settings() # context("varDS::perf::numeric") test_that("numeric varDS - performance", { - skip_on_cran() +# skip_on_cran() input <- c(0.0, 1.0, 2.0, 3.0, 4.0) @@ -61,7 +61,7 @@ test_that("numeric varDS - performance", { # context("varDS::perf::numeric with NA") test_that("numeric varDS, with NA - performance", { - skip_on_cran() +# skip_on_cran() input <- c(0.0, NA, 2.0, NA, 4.0) From 648d72b0c87717e4a5d7137079e117371a2158aa Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 11:37:27 +0100 Subject: [PATCH 02/14] Update perfence profile --- tests/testthat/perf_files/azure-pipeline_perf-profile.csv | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv index 77f556bc..43418639 100644 --- a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv +++ b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv @@ -1,5 +1,5 @@ "refer_name","rate","lower_tolerance","upper_tolerance" -"meanDS::perf::numeric::0","2998.9844","0.5","2" -"meanDS::perf::numberAndNA::0","3027.3963","0.5","2" -"varDS::perf::numeric::0","3124.4088","0.5","2" -"varDS::perf::numberAndNA::0","3146.532","0.5","2" +"meanDS::perf::numeric::0","4497.0","0.5","2" +"meanDS::perf::numberAndNA::0","4542.0","0.5","2" +"varDS::perf::numeric::0","4584.0","0.5","2" +"varDS::perf::numberAndNA::0","4590.0","0.5","2" From 41046bd043eb742738571860264702bdefd08960 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 12:34:49 +0100 Subject: [PATCH 03/14] Fix setting of PERF.PROFILE env variable --- azure-pipelines.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 94c767e9..3d412045 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -27,8 +27,7 @@ variables: branchName: $(Build.SourceBranchName) test_filter: '*' _r_check_system_clock_: 0 - PERF_PROFILE: 'azure-pipeline' - + perf.profile: 'azure-pipeline' ######################################################################################### @@ -184,7 +183,7 @@ jobs: # R output and messages are redirected by sink() to test_console_output.txt # junit reporter output is to test_results.xml - sudo R -q -e ' + sudo env PERF_PROFILE=$PERF_PROFILE R -q -e ' library(covr); write.csv( coverage_to_list( From 1923a11d90f111bf09170c997fd9328aa5ed18b1 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 13:36:03 +0100 Subject: [PATCH 04/14] Update to Circle CI code coverage --- .circleci/config.yml | 22 ++++++---------------- azure-pipelines.yml | 4 ++-- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index ec6d40e9..f944e3ab 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,22 +26,12 @@ jobs: - run: command: | echo "options(Ncpus=4)" >> ~/.Rprofile - sudo Rscript -e "install.packages('RANN', dependencies=TRUE)" - sudo Rscript -e "install.packages('stringr', dependencies=TRUE)" - sudo Rscript -e "install.packages('lme4', dependencies=TRUE)" - sudo Rscript -e "install.packages('dplyr', dependencies=TRUE)" - sudo Rscript -e "install.packages('reshape2', dependencies=TRUE)" - sudo Rscript -e "install.packages('polycor', dependencies=TRUE)" - sudo Rscript -e "install.packages('splines', dependencies=TRUE)" - sudo Rscript -e "install.packages('gamlss', dependencies=TRUE)" - sudo Rscript -e "install.packages('gamlss.dist', dependencies=TRUE)" - sudo Rscript -e "install.packages('mice', dependencies=TRUE)" - sudo Rscript -e "install.packages('childsds', dependencies=TRUE)" - sudo Rscript -e "install.packages('xml2', dependencies=TRUE)" - sudo Rscript -e "install.packages('covr', dependencies=TRUE)" - sudo Rscript -e "install.packages('devtools', dependencies=TRUE)" - sudo Rscript -e "install.packages('DSI', dependencies=TRUE)" - sudo Rscript -e "install.packages('DSLite', dependencies=TRUE)" + + # Use Posit Public Package Manager, which serves precompiled binary packages + # for this Ubuntu release instead of source - so dependencies are downloaded + # rather than compiled (the slow part). The HTTPUserAgent option is what makes + # the manager hand back binaries. + sudo R -q -e "options(repos=c(CRAN=paste0('https://packagemanager.posit.co/cran/__linux__/', system('lsb_release -cs', intern=TRUE), '/latest')), HTTPUserAgent=sprintf('R/%s> - run: command: | sudo Rscript -e 'library(covr); covr::codecov(token = "'$CODECOV_TOKEN'")' diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 3d412045..77679f06 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -49,13 +49,13 @@ schedules: displayName: Weekly build - latest release branches: include: - - 6.3.4 + - 6.3.5 always: true - cron: "0 1 * * *" displayName: Nightly build - development branchs branches: include: - - v6.3.5-dev + - v6.3.6-dev - v6.4.0-dev - v7.0.0-dev always: true From f670258ea21afdb6692417c29a056266b1bebc38 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 13:40:36 +0100 Subject: [PATCH 05/14] Fixed Comments, I hope --- .circleci/config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f944e3ab..278e2716 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -27,10 +27,10 @@ jobs: command: | echo "options(Ncpus=4)" >> ~/.Rprofile - # Use Posit Public Package Manager, which serves precompiled binary packages - # for this Ubuntu release instead of source - so dependencies are downloaded - # rather than compiled (the slow part). The HTTPUserAgent option is what makes - # the manager hand back binaries. +# Use Posit Public Package Manager, which serves precompiled binary packages +# for this Ubuntu release instead of source - so dependencies are downloaded +# rather than compiled (the slow part). The HTTPUserAgent option is what makes +# the manager hand back binaries. sudo R -q -e "options(repos=c(CRAN=paste0('https://packagemanager.posit.co/cran/__linux__/', system('lsb_release -cs', intern=TRUE), '/latest')), HTTPUserAgent=sprintf('R/%s> - run: command: | From eec1ebe5cb8f935b0cbad5ea9b6c2928db86cc72 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 13:42:57 +0100 Subject: [PATCH 06/14] Fixed Comments --- .circleci/config.yml | 5 ----- 1 file changed, 5 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 278e2716..404c595c 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,11 +26,6 @@ jobs: - run: command: | echo "options(Ncpus=4)" >> ~/.Rprofile - -# Use Posit Public Package Manager, which serves precompiled binary packages -# for this Ubuntu release instead of source - so dependencies are downloaded -# rather than compiled (the slow part). The HTTPUserAgent option is what makes -# the manager hand back binaries. sudo R -q -e "options(repos=c(CRAN=paste0('https://packagemanager.posit.co/cran/__linux__/', system('lsb_release -cs', intern=TRUE), '/latest')), HTTPUserAgent=sprintf('R/%s> - run: command: | From c867e6e0130667d72d3c11d63945f5248f3940bb Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 14:07:24 +0100 Subject: [PATCH 07/14] Fixed Comments --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 404c595c..7ee4e084 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -26,7 +26,8 @@ jobs: - run: command: | echo "options(Ncpus=4)" >> ~/.Rprofile - sudo R -q -e "options(repos=c(CRAN=paste0('https://packagemanager.posit.co/cran/__linux__/', system('lsb_release -cs', intern=TRUE), '/latest')), HTTPUserAgent=sprintf('R/%s> + + sudo R -q -e "options(repos=c(CRAN=paste0('https://packagemanager.posit.co/cran/__linux__/', system('lsb_release -cs', intern=TRUE), '/latest')), HTTPUserAgent=sprintf('R/%s R (%s)', getRversion(), paste(getRversion(), R.version\$platform, R.version\$arch, R.version\$os)), Ncpus=4); install.packages(c('devtools','RANN','stringr','lme4','dplyr','reshape2','polycor','splines','gamlss','gamlss.dist','mice','data.table','childsds'), dependencies=TRUE)" - run: command: | sudo Rscript -e 'library(covr); covr::codecov(token = "'$CODECOV_TOKEN'")' From 824fb5dc2f6ba6c37ecb98a3d5120b157728edeb Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 14:38:07 +0100 Subject: [PATCH 08/14] Fix CircleCI performance --- tests/testthat/perf_files/azure-pipeline_perf-profile.csv | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv index 43418639..7b8753a1 100644 --- a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv +++ b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv @@ -1,5 +1,5 @@ "refer_name","rate","lower_tolerance","upper_tolerance" "meanDS::perf::numeric::0","4497.0","0.5","2" "meanDS::perf::numberAndNA::0","4542.0","0.5","2" -"varDS::perf::numeric::0","4584.0","0.5","2" -"varDS::perf::numberAndNA::0","4590.0","0.5","2" +"varDS::perf::numeric::0","6220.0","0.5","2" +"varDS::perf::numberAndNA::0","6250.0","0.5","2" From 45778954b86d59c12ee13a3830ffbb0ee5afe166 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 15:15:43 +0100 Subject: [PATCH 09/14] Added debugging output --- tests/testthat/test-perf-varDS.R | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/testthat/test-perf-varDS.R b/tests/testthat/test-perf-varDS.R index d7e2131c..daffd00b 100644 --- a/tests/testthat/test-perf-varDS.R +++ b/tests/testthat/test-perf-varDS.R @@ -51,6 +51,8 @@ test_that("numeric varDS - performance", { print(paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) } + write(.current.rate, stderr()) + .reference.rate <- perf.reference.rate("varDS::perf::numeric::0") .reference.tolerance.lower <- perf.reference.tolerance.lower("varDS::perf::numeric::0") .reference.tolerance.upper <- perf.reference.tolerance.upper("varDS::perf::numeric::0") @@ -86,10 +88,16 @@ test_that("numeric varDS, with NA - performance", { print(paste("varDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) } + write(.current.rate, stderr()) + .reference.rate <- perf.reference.rate("varDS::perf::numberAndNA::0") .reference.tolerance.lower <- perf.reference.tolerance.lower("varDS::perf::numberAndNA::0") .reference.tolerance.upper <- perf.reference.tolerance.upper("varDS::perf::numberAndNA::0") + write(.current.rate, stderr()) + write(.reference.rate * .reference.tolerance.lower, stderr()) + write(.reference.rate * .reference.tolerance.upper, stderr()) + expect_gt(.current.rate, .reference.rate * .reference.tolerance.lower, label = "Observed rate", expected.label = "lower threshold on rate") expect_lt(.current.rate, .reference.rate * .reference.tolerance.upper, label = "Observed rate", expected.label = "upper threshold on rate") }) From cfead15bef74ed047b8bfa145c6ce1be98b10e2e Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 15:34:39 +0100 Subject: [PATCH 10/14] Added debugging output --- tests/testthat/test-perf-varDS.R | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests/testthat/test-perf-varDS.R b/tests/testthat/test-perf-varDS.R index daffd00b..3b7b0fac 100644 --- a/tests/testthat/test-perf-varDS.R +++ b/tests/testthat/test-perf-varDS.R @@ -51,7 +51,7 @@ test_that("numeric varDS - performance", { print(paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) } - write(.current.rate, stderr()) + expect_equal(.current.rate, 0.0) .reference.rate <- perf.reference.rate("varDS::perf::numeric::0") .reference.tolerance.lower <- perf.reference.tolerance.lower("varDS::perf::numeric::0") @@ -88,15 +88,15 @@ test_that("numeric varDS, with NA - performance", { print(paste("varDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) } - write(.current.rate, stderr()) + expect_equal(.current.rate, 0.0) .reference.rate <- perf.reference.rate("varDS::perf::numberAndNA::0") .reference.tolerance.lower <- perf.reference.tolerance.lower("varDS::perf::numberAndNA::0") .reference.tolerance.upper <- perf.reference.tolerance.upper("varDS::perf::numberAndNA::0") - write(.current.rate, stderr()) - write(.reference.rate * .reference.tolerance.lower, stderr()) - write(.reference.rate * .reference.tolerance.upper, stderr()) + expect_equal(.current.rate, 0.0) + expect_equal(.reference.rate * .reference.tolerance.lower, 0.0) + expect_equal(.reference.rate * .reference.tolerance.upper, 0.0) expect_gt(.current.rate, .reference.rate * .reference.tolerance.lower, label = "Observed rate", expected.label = "lower threshold on rate") expect_lt(.current.rate, .reference.rate * .reference.tolerance.upper, label = "Observed rate", expected.label = "upper threshold on rate") From a3540d1b0aef77930f600f674cd5b66d3f83aa77 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 15:59:42 +0100 Subject: [PATCH 11/14] Remove debug code and adjust perf profile --- tests/testthat/perf_files/azure-pipeline_perf-profile.csv | 4 ++-- tests/testthat/test-perf-varDS.R | 8 -------- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv index 7b8753a1..d1fcd743 100644 --- a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv +++ b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv @@ -1,5 +1,5 @@ "refer_name","rate","lower_tolerance","upper_tolerance" "meanDS::perf::numeric::0","4497.0","0.5","2" "meanDS::perf::numberAndNA::0","4542.0","0.5","2" -"varDS::perf::numeric::0","6220.0","0.5","2" -"varDS::perf::numberAndNA::0","6250.0","0.5","2" +"varDS::perf::numeric::0","6373.0","0.5","2" +"varDS::perf::numberAndNA::0","25090.0","0.5","2" diff --git a/tests/testthat/test-perf-varDS.R b/tests/testthat/test-perf-varDS.R index 3b7b0fac..d7e2131c 100644 --- a/tests/testthat/test-perf-varDS.R +++ b/tests/testthat/test-perf-varDS.R @@ -51,8 +51,6 @@ test_that("numeric varDS - performance", { print(paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) } - expect_equal(.current.rate, 0.0) - .reference.rate <- perf.reference.rate("varDS::perf::numeric::0") .reference.tolerance.lower <- perf.reference.tolerance.lower("varDS::perf::numeric::0") .reference.tolerance.upper <- perf.reference.tolerance.upper("varDS::perf::numeric::0") @@ -88,16 +86,10 @@ test_that("numeric varDS, with NA - performance", { print(paste("varDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) } - expect_equal(.current.rate, 0.0) - .reference.rate <- perf.reference.rate("varDS::perf::numberAndNA::0") .reference.tolerance.lower <- perf.reference.tolerance.lower("varDS::perf::numberAndNA::0") .reference.tolerance.upper <- perf.reference.tolerance.upper("varDS::perf::numberAndNA::0") - expect_equal(.current.rate, 0.0) - expect_equal(.reference.rate * .reference.tolerance.lower, 0.0) - expect_equal(.reference.rate * .reference.tolerance.upper, 0.0) - expect_gt(.current.rate, .reference.rate * .reference.tolerance.lower, label = "Observed rate", expected.label = "lower threshold on rate") expect_lt(.current.rate, .reference.rate * .reference.tolerance.upper, label = "Observed rate", expected.label = "upper threshold on rate") }) From 68f60165685482336b98711231b4743111e1ce91 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 17:00:43 +0100 Subject: [PATCH 12/14] Update logging --- tests/testthat/test-perf-meanDS.R | 8 ++++---- tests/testthat/test-perf-varDS.R | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/testthat/test-perf-meanDS.R b/tests/testthat/test-perf-meanDS.R index d6355336..617b0481 100644 --- a/tests/testthat/test-perf-meanDS.R +++ b/tests/testthat/test-perf-meanDS.R @@ -45,10 +45,10 @@ test_that("numeric meanDS - performance", { .current.rate <- .count / (difftime(.current.time, .start.time, units = "secs")[[1]]) .reference.rate <- perf.reference.rate("meanDS::perf::numeric::0") if (any(length(.reference.rate) == 0) || any(is.null(.reference.rate))) { - print(paste("meanDS::perf::numeric::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper())) + write(paste("meanDS::perf::numeric::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()), stderr()) perf.reference.save("meanDS::perf::numeric::0", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()) } else { - print(paste("meanDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) + write(paste("meanDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''), stderr()) } .reference.rate <- perf.reference.rate("meanDS::perf::numeric::0") @@ -80,10 +80,10 @@ test_that("numeric meanDS, with NA - performance", { .current.rate <- .count / (difftime(.current.time, .start.time, units = "secs")[[1]]) .reference.rate <- perf.reference.rate("meanDS::perf::numberAndNA::0") if (any(length(.reference.rate) == 0) || any(is.null(.reference.rate))) { - print(paste("meanDS::perf::numberAndNA::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper())) + write(paste("meanDS::perf::numberAndNA::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()), stderr()) perf.reference.save("meanDS::perf::numberAndNA::0", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()) } else { - print(paste("meanDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) + write(paste("meanDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''), stderr()) } .reference.rate <- perf.reference.rate("meanDS::perf::numberAndNA::0") diff --git a/tests/testthat/test-perf-varDS.R b/tests/testthat/test-perf-varDS.R index d7e2131c..2bb8205d 100644 --- a/tests/testthat/test-perf-varDS.R +++ b/tests/testthat/test-perf-varDS.R @@ -45,10 +45,10 @@ test_that("numeric varDS - performance", { .current.rate <- .count / (difftime(.current.time, .start.time, units = "secs")[[1]]) .reference.rate <- perf.reference.rate("varDS::perf::numeric::0") if (any(length(.reference.rate) == 0) || any(is.null(.reference.rate))) { - print(paste("varDS::perf::numeric::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper())) + write(paste("varDS::perf::numeric::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()), stderr()) perf.reference.save("varDS::perf::numeric::0", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()) } else { - print(paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) + write((paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''), stderr()) } .reference.rate <- perf.reference.rate("varDS::perf::numeric::0") @@ -80,10 +80,10 @@ test_that("numeric varDS, with NA - performance", { .current.rate <- .count / (difftime(.current.time, .start.time, units = "secs")[[1]]) .reference.rate <- perf.reference.rate("varDS::perf::numberAndNA::0") if (any(length(.reference.rate) == 0) || any(is.null(.reference.rate))) { - print(paste("varDS::perf::numberAndNA::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper())) + write(paste("varDS::perf::numberAndNA::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()), stderr()) perf.reference.save("varDS::perf::numberAndNA::0", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()) } else { - print(paste("varDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = '')) + write(paste("varDS::perf::numberAndNA::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''), stderr()) } .reference.rate <- perf.reference.rate("varDS::perf::numberAndNA::0") From fd3db55e55839b83685337cc1959f0d891d8cb0f Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 17:15:10 +0100 Subject: [PATCH 13/14] Fix code typo --- tests/testthat/test-perf-varDS.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/test-perf-varDS.R b/tests/testthat/test-perf-varDS.R index 2bb8205d..4f1f18e0 100644 --- a/tests/testthat/test-perf-varDS.R +++ b/tests/testthat/test-perf-varDS.R @@ -48,7 +48,7 @@ test_that("numeric varDS - performance", { write(paste("varDS::perf::numeric::0 ", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()), stderr()) perf.reference.save("varDS::perf::numeric::0", .current.rate, perf.profile.tolerance.lower(), perf.profile.tolerance.upper()) } else { - write((paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''), stderr()) + write(paste("varDS::perf::numeric::0 ", format(.current.rate, digits = 8), ", ", format(100.0 * .current.rate / .reference.rate, digits = 4), "%", sep = ''), stderr()) } .reference.rate <- perf.reference.rate("varDS::perf::numeric::0") From 59d76dec279903cda453b6a3b2e6f0f8664aef30 Mon Sep 17 00:00:00 2001 From: Stuart Wheater Date: Mon, 21 Sep 2026 17:33:20 +0100 Subject: [PATCH 14/14] Fix perf profile --- tests/testthat/perf_files/azure-pipeline_perf-profile.csv | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv index d1fcd743..5267505e 100644 --- a/tests/testthat/perf_files/azure-pipeline_perf-profile.csv +++ b/tests/testthat/perf_files/azure-pipeline_perf-profile.csv @@ -2,4 +2,4 @@ "meanDS::perf::numeric::0","4497.0","0.5","2" "meanDS::perf::numberAndNA::0","4542.0","0.5","2" "varDS::perf::numeric::0","6373.0","0.5","2" -"varDS::perf::numberAndNA::0","25090.0","0.5","2" +"varDS::perf::numberAndNA::0","4500.0","0.5","2"