From 5a15dd254640f8b39d8c075241d3ba12a19d3fcb Mon Sep 17 00:00:00 2001 From: Ani Date: Thu, 3 Oct 2024 12:36:18 -0700 Subject: [PATCH 01/15] Added the test with minor changes to comments --- .ci/atime/tests.R | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 56575dd47b..584a70c3a7 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -208,5 +208,20 @@ test.list <- atime::atime_test_list( Slow = "fd24a3105953f7785ea7414678ed8e04524e6955", # Parent of the merge commit (https://github.com/Rdatatable/data.table/commit/ed72e398df76a0fcfd134a4ad92356690e4210ea) of the PR (https://github.com/Rdatatable/data.table/pull/5054) that fixes the issue Fast = "ed72e398df76a0fcfd134a4ad92356690e4210ea"), # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/5054) that fixes the issue +# Improvement discussed in and brought by https://github.com/Rdatatable/data.table/pull/4386 +"forderv improved in #4386" = atime::atime_test( + N = 10^seq(3, 8), # 1e9 exceeds the runner's memory (process gets killed) + setup = { + options(datatable.forder.auto.index = TRUE, datatable.forder.reuse.sorting = TRUE) + dt <- data.table(index = sample(N), values = sample(N)) + data.table:::forderv(dt, "index") # Initial sort to create the index and initialize caching + }, + expr = { + data.table:::forderv(dt, "index", retGrp = FALSE) # Reusing the cached index (no group information required) + data.table:::forderv(dt, "index", retGrp = TRUE) # Reusing the index and computing group info. + }, + Slow = "c152ced0e5799acee1589910c69c1a2c6586b95d", # Parent of the merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression + Fast = "1a84514f6d20ff1f9cc614ea9b92ccdee5541506"), # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression + tests=extra.test.list) # nolint end: undesirable_operator_linter. From 7e822ad6ed799002512018695cf9599513ceb4da Mon Sep 17 00:00:00 2001 From: Ani Date: Thu, 3 Oct 2024 12:41:26 -0700 Subject: [PATCH 02/15] Narrow down on N --- .ci/atime/tests.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 584a70c3a7..25e8a07127 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -210,7 +210,7 @@ test.list <- atime::atime_test_list( # Improvement discussed in and brought by https://github.com/Rdatatable/data.table/pull/4386 "forderv improved in #4386" = atime::atime_test( - N = 10^seq(3, 8), # 1e9 exceeds the runner's memory (process gets killed) + N = 10^seq(3, 7), setup = { options(datatable.forder.auto.index = TRUE, datatable.forder.reuse.sorting = TRUE) dt <- data.table(index = sample(N), values = sample(N)) From 4ecb240a2961ed309e642788839272e7e193c983 Mon Sep 17 00:00:00 2001 From: Ani Date: Thu, 3 Oct 2024 12:51:18 -0700 Subject: [PATCH 03/15] Go with default N spec --- .ci/atime/tests.R | 1 - 1 file changed, 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 25e8a07127..b093e1e283 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -210,7 +210,6 @@ test.list <- atime::atime_test_list( # Improvement discussed in and brought by https://github.com/Rdatatable/data.table/pull/4386 "forderv improved in #4386" = atime::atime_test( - N = 10^seq(3, 7), setup = { options(datatable.forder.auto.index = TRUE, datatable.forder.reuse.sorting = TRUE) dt <- data.table(index = sample(N), values = sample(N)) From b0c10f542c5cb18b84f73e3e0276a81ee8c68606 Mon Sep 17 00:00:00 2001 From: Ani Date: Thu, 3 Oct 2024 12:53:39 -0700 Subject: [PATCH 04/15] Set seed for reproducibility given the use of sample() --- .ci/atime/tests.R | 1 + 1 file changed, 1 insertion(+) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index b093e1e283..30a5d0e3af 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -212,6 +212,7 @@ test.list <- atime::atime_test_list( "forderv improved in #4386" = atime::atime_test( setup = { options(datatable.forder.auto.index = TRUE, datatable.forder.reuse.sorting = TRUE) + set.seed(1) dt <- data.table(index = sample(N), values = sample(N)) data.table:::forderv(dt, "index") # Initial sort to create the index and initialize caching }, From ba72debb77eb2cc54af043f265b03642f7f68e21 Mon Sep 17 00:00:00 2001 From: Ani Date: Thu, 3 Oct 2024 13:05:58 -0700 Subject: [PATCH 05/15] rm sort reuse option --- .ci/atime/tests.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 30a5d0e3af..ed2235ec8b 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -211,7 +211,7 @@ test.list <- atime::atime_test_list( # Improvement discussed in and brought by https://github.com/Rdatatable/data.table/pull/4386 "forderv improved in #4386" = atime::atime_test( setup = { - options(datatable.forder.auto.index = TRUE, datatable.forder.reuse.sorting = TRUE) + options(datatable.forder.auto.index = TRUE) set.seed(1) dt <- data.table(index = sample(N), values = sample(N)) data.table:::forderv(dt, "index") # Initial sort to create the index and initialize caching From c519de1aba5907436b2ef01310613fa7f2e9b26d Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Thu, 3 Oct 2024 16:49:57 -0400 Subject: [PATCH 06/15] for loop over retGrp=T,F --- .ci/atime/tests.R | 37 ++++++++++++++++++++++--------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index ed2235ec8b..94d8081704 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -19,6 +19,28 @@ for (extra.arg in extra.args.6107){ extra.test.list[[sprintf("fread(%s) improved in #6107", extra.arg)]] <- this.test } +# Test case adapted from https://github.com/Rdatatable/data.table/pull/4386#issue-602528139 which is where the performance was improved. +retGrp_values <- c("T","F") +for(retGrp_setup in retGrp_values){ + for(retGrp_expr in retGrp_values){ + test.name <- sprintf("forderv(retGrp=%s->%s) improved in #4386", retGrp_setup, retGrp_expr) + extra.test.list[[test.name]] <- list( + setup = substitute({ + options(datatable.forder.auto.index = TRUE) + set.seed(1) + dt <- data.table(index = sample(N), values = sample(N)) + data.table:::forderv(dt, "index", retGrp = RETGRP) # Initial sort to create the index and initialize caching + }, list(RETGRP=str2lang(retGrp_setup))), + expr = substitute({ + data.table:::forderv(dt, "index", retGrp = RETGRP) # Reusing the index and computing group info. + }, list(RETGRP=str2lang(retGrp_expr))), + Slow = "c152ced0e5799acee1589910c69c1a2c6586b95d", # Parent of the merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression + Fast = "1a84514f6d20ff1f9cc614ea9b92ccdee5541506") # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression + } +} + + + # A list of performance tests. # # See documentation in https://github.com/Rdatatable/data.table/wiki/Performance-testing for best practices. @@ -207,21 +229,6 @@ test.list <- atime::atime_test_list( expr = data.table:::melt(DT, measure.vars = measure.vars), Slow = "fd24a3105953f7785ea7414678ed8e04524e6955", # Parent of the merge commit (https://github.com/Rdatatable/data.table/commit/ed72e398df76a0fcfd134a4ad92356690e4210ea) of the PR (https://github.com/Rdatatable/data.table/pull/5054) that fixes the issue Fast = "ed72e398df76a0fcfd134a4ad92356690e4210ea"), # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/5054) that fixes the issue - -# Improvement discussed in and brought by https://github.com/Rdatatable/data.table/pull/4386 -"forderv improved in #4386" = atime::atime_test( - setup = { - options(datatable.forder.auto.index = TRUE) - set.seed(1) - dt <- data.table(index = sample(N), values = sample(N)) - data.table:::forderv(dt, "index") # Initial sort to create the index and initialize caching - }, - expr = { - data.table:::forderv(dt, "index", retGrp = FALSE) # Reusing the cached index (no group information required) - data.table:::forderv(dt, "index", retGrp = TRUE) # Reusing the index and computing group info. - }, - Slow = "c152ced0e5799acee1589910c69c1a2c6586b95d", # Parent of the merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression - Fast = "1a84514f6d20ff1f9cc614ea9b92ccdee5541506"), # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression tests=extra.test.list) # nolint end: undesirable_operator_linter. From f24984aa07d7c90697314b17f4b87f4d6fb6f77c Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Thu, 3 Oct 2024 17:11:16 -0400 Subject: [PATCH 07/15] historical sha1s from commits page instead of merge commit --- .ci/atime/tests.R | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 94d8081704..fa790c17eb 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -34,8 +34,8 @@ for(retGrp_setup in retGrp_values){ expr = substitute({ data.table:::forderv(dt, "index", retGrp = RETGRP) # Reusing the index and computing group info. }, list(RETGRP=str2lang(retGrp_expr))), - Slow = "c152ced0e5799acee1589910c69c1a2c6586b95d", # Parent of the merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression - Fast = "1a84514f6d20ff1f9cc614ea9b92ccdee5541506") # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) that fixes the regression + Slow = "b1b1832b0d2d4032b46477d9fe6efb15006664f4", # Parent of the first commit (https://github.com/Rdatatable/data.table/commit/b0efcf59442a7d086c6df17fa6a45c81b082322e) in the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. + Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93") # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. } } From 6e693052e080f698f93c49977ce57c946643deb2 Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Thu, 3 Oct 2024 17:12:30 -0400 Subject: [PATCH 08/15] rm > from test name since that fails on CI --- .ci/atime/tests.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index fa790c17eb..cea64c2a50 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -23,7 +23,7 @@ for (extra.arg in extra.args.6107){ retGrp_values <- c("T","F") for(retGrp_setup in retGrp_values){ for(retGrp_expr in retGrp_values){ - test.name <- sprintf("forderv(retGrp=%s->%s) improved in #4386", retGrp_setup, retGrp_expr) + test.name <- sprintf("forderv(retGrp=%s-%s) improved in #4386", retGrp_setup, retGrp_expr) extra.test.list[[test.name]] <- list( setup = substitute({ options(datatable.forder.auto.index = TRUE) From 401f3d77e9404940c5277e5447ab0685f6497a77 Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Thu, 3 Oct 2024 17:29:33 -0400 Subject: [PATCH 09/15] remove extra blank lines --- .ci/atime/tests.R | 2 -- 1 file changed, 2 deletions(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index cea64c2a50..c53a06abc9 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -38,8 +38,6 @@ for(retGrp_setup in retGrp_values){ Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93") # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. } } - - # A list of performance tests. # From 7800a624742290f4fe88fc45ebbd08c9b6cc2137 Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Thu, 3 Oct 2024 17:51:17 -0400 Subject: [PATCH 10/15] use setattr-> Fast always linear --- .ci/atime/tests.R | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index c53a06abc9..2cfc877e07 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -25,15 +25,23 @@ for(retGrp_setup in retGrp_values){ for(retGrp_expr in retGrp_values){ test.name <- sprintf("forderv(retGrp=%s-%s) improved in #4386", retGrp_setup, retGrp_expr) extra.test.list[[test.name]] <- list( - setup = substitute({ + setup = quote({ options(datatable.forder.auto.index = TRUE) set.seed(1) dt <- data.table(index = sample(N), values = sample(N)) - data.table:::forderv(dt, "index", retGrp = RETGRP) # Initial sort to create the index and initialize caching - }, list(RETGRP=str2lang(retGrp_setup))), + index.list <- list() + for(retGrp in retGrp_values){ + data.table:::forderv(dt, "index", retGrp = eval(str2lang(retGrp))) + index.list[[retGrp]] <- attr(dt, "index") + } + }), expr = substitute({ - data.table:::forderv(dt, "index", retGrp = RETGRP) # Reusing the index and computing group info. - }, list(RETGRP=str2lang(retGrp_expr))), + setattr(dt, "index", index.list[[retGrp_setup]]) + data.table:::forderv(dt, "index", retGrp = retGrp_expr) # Reusing the index and computing group info. + }, list( + retGrp_setup=retGrp_setup, + retGrp_expr=str2lang(retGrp_expr) + )), Slow = "b1b1832b0d2d4032b46477d9fe6efb15006664f4", # Parent of the first commit (https://github.com/Rdatatable/data.table/commit/b0efcf59442a7d086c6df17fa6a45c81b082322e) in the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93") # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. } From 7a163417fa6cce9ebb7cdd35ac5622cd80b02605 Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Mon, 7 Oct 2024 23:04:07 -0400 Subject: [PATCH 11/15] forderv retGrp=T or F, no setindex --- .ci/atime/tests.R | 40 ++++++++++++++-------------------------- 1 file changed, 14 insertions(+), 26 deletions(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 2cfc877e07..4fcfa45638 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -20,32 +20,20 @@ for (extra.arg in extra.args.6107){ } # Test case adapted from https://github.com/Rdatatable/data.table/pull/4386#issue-602528139 which is where the performance was improved. -retGrp_values <- c("T","F") -for(retGrp_setup in retGrp_values){ - for(retGrp_expr in retGrp_values){ - test.name <- sprintf("forderv(retGrp=%s-%s) improved in #4386", retGrp_setup, retGrp_expr) - extra.test.list[[test.name]] <- list( - setup = quote({ - options(datatable.forder.auto.index = TRUE) - set.seed(1) - dt <- data.table(index = sample(N), values = sample(N)) - index.list <- list() - for(retGrp in retGrp_values){ - data.table:::forderv(dt, "index", retGrp = eval(str2lang(retGrp))) - index.list[[retGrp]] <- attr(dt, "index") - } - }), - expr = substitute({ - setattr(dt, "index", index.list[[retGrp_setup]]) - data.table:::forderv(dt, "index", retGrp = retGrp_expr) # Reusing the index and computing group info. - }, list( - retGrp_setup=retGrp_setup, - retGrp_expr=str2lang(retGrp_expr) - )), - Slow = "b1b1832b0d2d4032b46477d9fe6efb15006664f4", # Parent of the first commit (https://github.com/Rdatatable/data.table/commit/b0efcf59442a7d086c6df17fa6a45c81b082322e) in the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. - Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93") # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. - } -} +for(retGrp_chr in c("T","F"))extra.test.list[[sprintf( + "forderv(retGrp=%s) improved in #4386", retGrp_chr +)]] <- list( + setup = quote({ + options(datatable.forder.auto.index = TRUE) + dt <- data.table(group = rep(1:2, l=N)) + }), + expr = substitute({ + ## From ?bench::mark, "Each expression will always run at least twice, once to measure the memory allocation and store results and one or more times to measure timing." The first memory allocation measurement also sets the index by reference, so subsequent timings can measure if the cached index is used. + data.table:::forderv(dt, "group", retGrp = RETGRP) + }, list(RETGRP=eval(str2lang(retGrp_chr)))), + Slow = "b1b1832b0d2d4032b46477d9fe6efb15006664f4", # Parent of the first commit (https://github.com/Rdatatable/data.table/commit/b0efcf59442a7d086c6df17fa6a45c81b082322e) in the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. + Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93" # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. +) # A list of performance tests. # From 6603d067c58881fbdf49c00cf72096a1455da44d Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Tue, 8 Oct 2024 07:46:28 -0400 Subject: [PATCH 12/15] more detailed comment about expectations --- .ci/atime/tests.R | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 4fcfa45638..aee89844fe 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -28,9 +28,17 @@ for(retGrp_chr in c("T","F"))extra.test.list[[sprintf( dt <- data.table(group = rep(1:2, l=N)) }), expr = substitute({ - ## From ?bench::mark, "Each expression will always run at least twice, once to measure the memory allocation and store results and one or more times to measure timing." The first memory allocation measurement also sets the index by reference, so subsequent timings can measure if the cached index is used. data.table:::forderv(dt, "group", retGrp = RETGRP) }, list(RETGRP=eval(str2lang(retGrp_chr)))), + ## From ?bench::mark, "Each expression will always run at least twice, + ## once to measure the memory allocation and store results + ## and one or more times to measure timing." + ## So for atime(times=10) that means 11 times total. + ## First time for memory allocation measurement, + ## (also sets the index of dt in this example), + ## then 10 more times for time measurement. + ## Timings should be constant if the cached index is used (Fast), + ## and linear if the index is re-computed (Slow). Slow = "b1b1832b0d2d4032b46477d9fe6efb15006664f4", # Parent of the first commit (https://github.com/Rdatatable/data.table/commit/b0efcf59442a7d086c6df17fa6a45c81b082322e) in the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93" # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. ) From 6509080c84c27004896df8d8fb62dfc95a6cde1d Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Tue, 8 Oct 2024 07:57:12 -0400 Subject: [PATCH 13/15] restore old option after test --- .ci/atime/tests.R | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index aee89844fe..443babe81b 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -24,11 +24,12 @@ for(retGrp_chr in c("T","F"))extra.test.list[[sprintf( "forderv(retGrp=%s) improved in #4386", retGrp_chr )]] <- list( setup = quote({ - options(datatable.forder.auto.index = TRUE) dt <- data.table(group = rep(1:2, l=N)) }), expr = substitute({ + old.opt <- options(datatable.forder.auto.index = TRUE) # required for test, un-documented, comments in forder.c say it is for debugging only. data.table:::forderv(dt, "group", retGrp = RETGRP) + options(old.opt) # so the option does not affect other tests. }, list(RETGRP=eval(str2lang(retGrp_chr)))), ## From ?bench::mark, "Each expression will always run at least twice, ## once to measure the memory allocation and store results From 4e69115815d2e283a7129e8b280c4d1ab47716be Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Tue, 8 Oct 2024 07:58:22 -0400 Subject: [PATCH 14/15] log --- .ci/atime/tests.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index 443babe81b..fcfa384bbd 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -39,7 +39,7 @@ for(retGrp_chr in c("T","F"))extra.test.list[[sprintf( ## (also sets the index of dt in this example), ## then 10 more times for time measurement. ## Timings should be constant if the cached index is used (Fast), - ## and linear if the index is re-computed (Slow). + ## and (log-)linear if the index is re-computed (Slow). Slow = "b1b1832b0d2d4032b46477d9fe6efb15006664f4", # Parent of the first commit (https://github.com/Rdatatable/data.table/commit/b0efcf59442a7d086c6df17fa6a45c81b082322e) in the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. Fast = "ffe431fbc1fe2d52ed9499f78e7e16eae4d71a93" # Last commit of the PR (https://github.com/Rdatatable/data.table/pull/4386/commits) where the performance was improved. ) From 13c4b1ff5bd0abe2f3118a4e20cc6a4447cace66 Mon Sep 17 00:00:00 2001 From: Toby Dylan Hocking Date: Fri, 11 Oct 2024 04:33:21 -0400 Subject: [PATCH 15/15] undo white space addition --- .ci/atime/tests.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ci/atime/tests.R b/.ci/atime/tests.R index fcfa384bbd..f6d68ce682 100644 --- a/.ci/atime/tests.R +++ b/.ci/atime/tests.R @@ -232,6 +232,6 @@ test.list <- atime::atime_test_list( expr = data.table:::melt(DT, measure.vars = measure.vars), Slow = "fd24a3105953f7785ea7414678ed8e04524e6955", # Parent of the merge commit (https://github.com/Rdatatable/data.table/commit/ed72e398df76a0fcfd134a4ad92356690e4210ea) of the PR (https://github.com/Rdatatable/data.table/pull/5054) that fixes the issue Fast = "ed72e398df76a0fcfd134a4ad92356690e4210ea"), # Merge commit of the PR (https://github.com/Rdatatable/data.table/pull/5054) that fixes the issue - + tests=extra.test.list) # nolint end: undesirable_operator_linter.