Skip to content

Conversation

@ms609
Copy link
Owner

@ms609 ms609 commented Jan 5, 2026

No description provided.

@codecov
Copy link

codecov bot commented Jan 5, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.53%. Comparing base (7c3a13c) to head (37bb168).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #241      +/-   ##
==========================================
+ Coverage   96.46%   96.53%   +0.07%     
==========================================
  Files          74       74              
  Lines        5315     5337      +22     
==========================================
+ Hits         5127     5152      +25     
+ Misses        188      185       -3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@github-actions
Copy link

github-actions bot commented Jan 5, 2026

⚠️ This benchmark result is outdated. See the latest comment below.

Performance benchmark results

Call Status Change Time (ms)
as.Splits(bigTrees) 🟠 Slower 🙁 -10.83% 21.8 →
24.8, 22.9
as.Splits(someTrees) ⚪ NSD -1.4% 11.5 →
11.5, 11.7
Consensus(forest1k.888, check = FALSE) ⚪ NSD -0.36% 98.2 →
98.6, 98.3
Consensus(forest201.80, check = FALSE) ⚪ NSD 0.39% 4.13 →
4.14, 4.1
Consensus(forest21.260, 0.5, FALSE) ⚪ NSD 0.54% 1.23 →
1.22, 1.23
Consensus(forest21.260) ⚪ NSD 1.15% 1.22 →
1.21, 1.21
Consensus(forestMaj, 0.5, FALSE) ⚪ NSD 0.89% 3.03 →
3.01, 3
DropTip(tr2000, 5) 🟣 ~same 2.14% 20.8 →
20.4, 20.4
DropTip(tr80, 5) ⚪ NSD -1.75% 0.104 →
0.106, 0.106
DropTip(unlen2k, 5) ⚪ NSD 0.91% 0.212 →
0.211, 0.21
DropTip(unlen80, 5) ⚪ NSD 1.17% 0.041 →
0.0406, 0.0406
lapply(bigSplits, as.phylo) 🟠 Slower 🙁 -8.56% 27.8 →
30.2, 30.2
lapply(someSplits, as.phylo) 🟣 ~same -5.85% 13.6 →
14.3, 14.7
PathLengths(tr2000, full = TRUE) ⚪ NSD -1.86% 19.7 →
19.9, 20.2
PathLengths(tr80, full = TRUE) ⚪ NSD -223.17% 0.032 →
0.102, 0.105
PathLengths(tr80Unif, full = TRUE) 🟠 Slower 🙁 -216.33% 0.0331 →
0.105, 0.0407
RootTree(tr2000, 5) ⚪ NSD -3.81% 0.376 →
0.399, 0.38
RootTree(tr80, c("t3", "t36")) ⚪ NSD -2.5% 0.0696 →
0.0712, 0.0715
RootTree(tr80, "t3") ⚪ NSD -4.19% 0.0485 →
0.0503, 0.0507
RootTree(tr80, "t30") ⚪ NSD -3.25% 0.049 →
0.0502, 0.0509
RootTree(unlen2k, 5) ⚪ NSD -0.36% 0.337 →
0.333, 0.342
RootTree(unlen80, c("t3", "t36")) ⚪ NSD -1.98% 0.0642 →
0.0647, 0.0662
RootTree(unlen80, "t3") ⚪ NSD -3.01% 0.043 →
0.043, 0.045
RootTree(unlen80, "t30") ⚪ NSD -3.13% 0.0432 →
0.0433, 0.0454
TreeDist::RobinsonFoulds(forest201.80) ⚪ NSD -3.29% 15.3 →
15.8, 15.9
TreeDist::RobinsonFoulds(forest21.888) ⚪ NSD -0.96% 3.2 →
3.22, 3.23
TreeTools:::path_lengths(tr80$edge, tr80$edge.length, FALSE) ⚪ NSD 0.54% 0.0932 →
0.0908, 0.0951
TreeTools:::postorder_order(bal40) ⚪ NSD -3.16% 0.00161 →
0.00167, 0.00166
TreeTools:::postorder_order(bal40k) ⚪ NSD -0.22% 0.45 →
0.449, 0.452
TreeTools:::postorder_order(dbal40) ⚪ NSD -1.72% 0.00177 →
0.00182, 0.00178
TreeTools:::postorder_order(dbal40k) ⚪ NSD -0.05% 2.38 →
2.37, 2.38
TreeTools:::postorder_order(dpec40) ⚪ NSD -0.33% 0.003 →
0.00303, 0.00299
TreeTools:::postorder_order(dpec40k) ⚪ NSD 0.08% 3610 →
3610, 3610
TreeTools:::postorder_order(drnd80) ⚪ NSD 1.34% 0.00513 →
0.00506, 0.00506
TreeTools:::postorder_order(nbal40) ⚪ NSD -0.94% 0.00212 →
0.00214, 0.00213
TreeTools:::postorder_order(nbal40k) ⚪ NSD 0.27% 2.43 →
2.42, 2.42
TreeTools:::postorder_order(npec40) ⚪ NSD -0.03% 0.00329 →
0.00329, 0.0033
TreeTools:::postorder_order(npec40k) ⚪ NSD 0.04% 3630 →
3630, 3620
TreeTools:::postorder_order(nrnd80) ⚪ NSD 0.55% 0.00564 →
0.00563, 0.00559
TreeTools:::postorder_order(pec40) ⚪ NSD -0.6% 0.00165 →
0.00167, 0.00164
TreeTools:::postorder_order(pec40k) 🟢 Faster! 19.44% 0.534 →
0.431, 0.43
TreeTools:::postorder_order(rnd80) ⚪ NSD 1.89% 0.0021 →
0.0021, 0.00203

@github-actions
Copy link

github-actions bot commented Jan 5, 2026

⚠️ This benchmark result is outdated. See the latest comment below.

Performance benchmark results

Call Status Change Time (ms)
as.Splits(bigTrees) ⚪ NSD -6.03% 21.4 →
22.1, 22.9
as.Splits(someTrees) ⚪ NSD -0.57% 11.4 →
11.6, 11.2
Consensus(forest1k.888, check = FALSE) ⚪ NSD -0.65% 97.8 →
101, 98.3
Consensus(forest201.80, check = FALSE) ⚪ NSD -1.37% 4.05 →
4.09, 4.12
Consensus(forest21.260, 0.5, FALSE) ⚪ NSD -0.52% 1.21 →
1.21, 1.22
Consensus(forest21.260) ⚪ NSD -0.76% 1.19 →
1.2, 1.21
Consensus(forestMaj, 0.5, FALSE) ⚪ NSD 1.09% 3.03 →
2.96, 3.02
DropTip(tr2000, 5) ⚪ NSD -0.63% 19.7 →
19.9, 19.8
DropTip(tr80, 5) ⚪ NSD -1.93% 0.103 →
0.105, 0.104
DropTip(unlen2k, 5) ⚪ NSD -0.67% 0.214 →
0.215, 0.215
DropTip(unlen80, 5) ⚪ NSD -0.27% 0.0406 →
0.0407, 0.0408
lapply(bigSplits, as.phylo) 🟠 Slower 🙁 -9.89% 27.7 →
30.2, 30.5
lapply(someSplits, as.phylo) ⚪ NSD -5.24% 13.5 →
14.3, 14.2
PathLengths(tr2000, full = TRUE) ⚪ NSD -0.27% 19.2 →
19.4, 18.8
PathLengths(tr80, full = TRUE) 🟠 Slower 🙁 -238.91% 0.03 →
0.105, 0.1
PathLengths(tr80Unif, full = TRUE) ⚪ NSD -9.99% 0.0319 →
0.0339, 0.102
RootTree(tr2000, 5) ⚪ NSD -1.61% 0.37 →
0.377, 0.375
RootTree(tr80, c("t3", "t36")) ⚪ NSD -3% 0.0685 →
0.0698, 0.0712
RootTree(tr80, "t3") ⚪ NSD -1.45% 0.049 →
0.0496, 0.0498
RootTree(tr80, "t30") ⚪ NSD -2.85% 0.0489 →
0.0499, 0.0507
RootTree(unlen2k, 5) ⚪ NSD -0.34% 0.333 →
0.334, 0.333
RootTree(unlen80, c("t3", "t36")) ⚪ NSD -3.01% 0.0637 →
0.0649, 0.0662
RootTree(unlen80, "t3") ⚪ NSD -2.21% 0.043 →
0.0434, 0.0444
RootTree(unlen80, "t30") ⚪ NSD -2.7% 0.0434 →
0.0443, 0.0448
TreeDist::RobinsonFoulds(forest201.80) ⚪ NSD -4.73% 14.9 →
15.6, 15.8
TreeDist::RobinsonFoulds(forest21.888) ⚪ NSD -2.31% 3.16 →
3.22, 3.26
TreeTools:::path_lengths(tr80$edge, tr80$edge.length, FALSE) ⚪ NSD 1.22% 0.093 →
0.0948, 0.0897
TreeTools:::postorder_order(bal40) ⚪ NSD -0.54% 0.00166 →
0.00166, 0.00168
TreeTools:::postorder_order(bal40k) ⚪ NSD -0.63% 0.442 →
0.445, 0.444
TreeTools:::postorder_order(dbal40) ⚪ NSD -0.01% 0.00177 →
0.00177, 0.00177
TreeTools:::postorder_order(dbal40k) ⚪ NSD -1.42% 2.32 →
2.36, 2.35
TreeTools:::postorder_order(dpec40) ⚪ NSD 0% 0.003 →
0.003, 0.003
TreeTools:::postorder_order(dpec40k) ⚪ NSD 0.03% 3610 →
3610, 3610
TreeTools:::postorder_order(drnd80) ⚪ NSD 0.59% 0.00507 →
0.00508, 0.00501
TreeTools:::postorder_order(nbal40) ⚪ NSD 0.04% 0.00212 →
0.0021, 0.00211
TreeTools:::postorder_order(nbal40k) ⚪ NSD 0.73% 2.42 →
2.41, 2.4
TreeTools:::postorder_order(npec40) ⚪ NSD 0.9% 0.00331 →
0.00328, 0.00329
TreeTools:::postorder_order(npec40k) ⚪ NSD 0.2% 3630 →
3630, 3620
TreeTools:::postorder_order(nrnd80) ⚪ NSD 0.18% 0.00563 →
0.00563, 0.00561
TreeTools:::postorder_order(pec40) ⚪ NSD 1.15% 0.00165 →
0.00163, 0.00164
TreeTools:::postorder_order(pec40k) ⚪ NSD -2.27% 0.426 →
0.535, 0.429
TreeTools:::postorder_order(rnd80) ⚪ NSD 0.48% 0.00208 →
0.00208, 0.00207

Copilot AI and others added 2 commits January 6, 2026 07:30
…ocation (#242)

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: ms609 <1695515+ms609@users.noreply.github.com>
@github-actions
Copy link

github-actions bot commented Jan 6, 2026

⚠️ This benchmark result is outdated. See the latest comment below.

Performance benchmark results

Call Status Change Time (ms)
as.Splits(bigTrees) ⚪ NSD -9.38% 22.6 →
22.5, 26.2
as.Splits(someTrees) ⚪ NSD 0.4% 11.3 →
11.3, 11.2
Consensus(forest1k.888, check = FALSE) ⚪ NSD 0.1% 97 →
95.6, 97.7
Consensus(forest201.80, check = FALSE) ⚪ NSD 0.37% 4.06 →
4.02, 4.06
Consensus(forest21.260, 0.5, FALSE) ⚪ NSD -1.5% 1.2 →
1.21, 1.22
Consensus(forest21.260) ⚪ NSD -1.05% 1.19 →
1.2, 1.21
Consensus(forestMaj, 0.5, FALSE) ⚪ NSD -0.71% 2.95 →
2.95, 2.98
DropTip(tr2000, 5) 🟣 ~same 1.77% 20.7 →
20.3, 20.3
DropTip(tr80, 5) ⚪ NSD 0.44% 0.106 →
0.106, 0.105
DropTip(unlen2k, 5) ⚪ NSD 3.34% 0.217 →
0.209, 0.211
DropTip(unlen80, 5) ⚪ NSD 0.24% 0.041 →
0.0408, 0.041
lapply(bigSplits, as.phylo) 🟠 Slower 🙁 -12.38% 27.8 →
31.5, 31
lapply(someSplits, as.phylo) ⚪ NSD -5.11% 13.5 →
14.1, 14.2
PathLengths(tr2000, full = TRUE) ⚪ NSD 1.13% 19.8 →
19.7, 19.6
PathLengths(tr80, full = TRUE) 🟠 Slower 🙁 -246.8% 0.0297 →
0.102, 0.104
PathLengths(tr80Unif, full = TRUE) 🟠 Slower 🙁 -238.22% 0.0312 →
0.105, 0.106
RootTree(tr2000, 5) ⚪ NSD 3.01% 0.395 →
0.385, 0.381
RootTree(tr80, c("t3", "t36")) ⚪ NSD -2.35% 0.0701 →
0.073, 0.0694
RootTree(tr80, "t3") ⚪ NSD -1.07% 0.0504 →
0.0518, 0.0492
RootTree(tr80, "t30") ⚪ NSD -0.9% 0.051 →
0.0526, 0.0495
RootTree(unlen2k, 5) ⚪ NSD -0.79% 0.33 →
0.335, 0.331
RootTree(unlen80, c("t3", "t36")) ⚪ NSD -2.44% 0.0653 →
0.0684, 0.0644
RootTree(unlen80, "t3") ⚪ NSD -3.91% 0.0434 →
0.046, 0.0434
RootTree(unlen80, "t30") ⚪ NSD -4.05% 0.0435 →
0.0462, 0.0439
TreeDist::RobinsonFoulds(forest201.80) ⚪ NSD 1.13% 15.7 →
15.6, 15.4
TreeDist::RobinsonFoulds(forest21.888) ⚪ NSD -2.4% 3.17 →
3.25, 3.24
TreeTools:::path_lengths(tr80$edge, tr80$edge.length, FALSE) ⚪ NSD 0.32% 0.0919 →
0.0907, 0.0927
TreeTools:::postorder_order(bal40) ⚪ NSD -0.61% 0.00165 →
0.00168, 0.00165
TreeTools:::postorder_order(bal40k) ⚪ NSD 0.69% 0.445 →
0.443, 0.441
TreeTools:::postorder_order(dbal40) ⚪ NSD 3.38% 0.0018 →
0.00175, 0.00173
TreeTools:::postorder_order(dbal40k) ⚪ NSD 9.27% 2.33 →
2.15, 2.1
TreeTools:::postorder_order(dpec40) 🟢 Faster! 15.06% 0.003 →
0.00255, 0.00252
TreeTools:::postorder_order(dpec40k) 🟢 Faster! 6.52% 3610 →
3360, 3390
TreeTools:::postorder_order(drnd80) 🟢 Faster! 20.59% 0.00506 →
0.00403, 0.004
TreeTools:::postorder_order(nbal40) ⚪ NSD 1.42% 0.00211 →
0.00208, 0.00208
TreeTools:::postorder_order(nbal40k) 🟢 Faster! 7.81% 2.37 →
2.19, 2.18
TreeTools:::postorder_order(npec40) 🟢 Faster! 14.33% 0.00329 →
0.00282, 0.00282
TreeTools:::postorder_order(npec40k) 🟣 ~same 5.9% 3620 →
3410, 3410
TreeTools:::postorder_order(nrnd80) 🟢 Faster! 18.72% 0.00562 →
0.00457, 0.00457
TreeTools:::postorder_order(pec40) ⚪ NSD -0.61% 0.00163 →
0.00165, 0.00163
TreeTools:::postorder_order(pec40k) ⚪ NSD 0.85% 0.433 →
0.428, 0.433
TreeTools:::postorder_order(rnd80) ⚪ NSD -1.94% 0.00206 →
0.0021, 0.0021

@github-actions
Copy link

github-actions bot commented Jan 6, 2026

Performance benchmark results

Call Status Change Time (ms)
as.Splits(bigTrees) ⚪ NSD 3.38% 23.6 →
22.5, 22.9
as.Splits(someTrees) ⚪ NSD 2.05% 11.6 →
11.4, 11.4
Consensus(forest1k.888, check = FALSE) ⚪ NSD 0.93% 99 →
97.4, 98.7
Consensus(forest201.80, check = FALSE) ⚪ NSD -0.97% 4.13 →
4.28, 4.12
Consensus(forest21.260, 0.5, FALSE) ⚪ NSD -0.42% 1.21 →
1.22, 1.22
Consensus(forest21.260) ⚪ NSD -0.2% 1.21 →
1.21, 1.21
Consensus(forestMaj, 0.5, FALSE) ⚪ NSD 0.87% 3.04 →
2.96, 3.04
DropTip(tr2000, 5) ⚪ NSD 1.52% 20.7 →
20.4, 20.4
DropTip(tr80, 5) ⚪ NSD 0.76% 0.106 →
0.105, 0.106
DropTip(unlen2k, 5) ⚪ NSD 2.89% 0.217 →
0.212, 0.21
DropTip(unlen80, 5) ⚪ NSD 1.03% 0.0411 →
0.0403, 0.0409
lapply(bigSplits, as.phylo) 🟠 Slower 🙁 -11.9% 27.9 →
31.5, 30.9
lapply(someSplits, as.phylo) ⚪ NSD -3.48% 14.1 →
14.7, 14.5
PathLengths(tr2000, full = TRUE) ⚪ NSD 2.75% 19.9 →
19.3, 19.9
PathLengths(tr80, full = TRUE) ⚪ NSD 64.24% 0.101 →
0.103, 0.0357
PathLengths(tr80Unif, full = TRUE) ⚪ NSD -25.91% 0.0305 →
0.105, 0.0378
RootTree(tr2000, 5) ⚪ NSD 3.12% 0.394 →
0.378, 0.385
RootTree(tr80, c("t3", "t36")) ⚪ NSD -0.34% 0.0707 →
0.0707, 0.0711
RootTree(tr80, "t3") ⚪ NSD 0.59% 0.0498 →
0.0496, 0.0493
RootTree(tr80, "t30") ⚪ NSD 1.27% 0.0504 →
0.0494, 0.05
RootTree(unlen2k, 5) ⚪ NSD -1.28% 0.328 →
0.33, 0.334
RootTree(unlen80, c("t3", "t36")) ⚪ NSD -0.96% 0.065 →
0.0647, 0.0663
RootTree(unlen80, "t3") ⚪ NSD 0.18% 0.0434 →
0.043, 0.0437
RootTree(unlen80, "t30") ⚪ NSD -0.84% 0.0436 →
0.0436, 0.0444
TreeDist::RobinsonFoulds(forest201.80) ⚪ NSD -0.06% 16 →
16.2, 15.9
TreeDist::RobinsonFoulds(forest21.888) ⚪ NSD -0.45% 3.25 →
3.28, 3.24
TreeTools:::path_lengths(tr80$edge, tr80$edge.length, FALSE) ⚪ NSD -5.81% 0.0901 →
0.0914, 0.0985
TreeTools:::postorder_order(bal40) ⚪ NSD 0.6% 0.00166 →
0.00163, 0.00166
TreeTools:::postorder_order(bal40k) ⚪ NSD 0.27% 0.451 →
0.463, 0.446
TreeTools:::postorder_order(dbal40) ⚪ NSD 1.68% 0.00178 →
0.00174, 0.00177
TreeTools:::postorder_order(dbal40k) 🟢 Faster! 10.51% 2.37 →
2.09, 2.13
TreeTools:::postorder_order(dpec40) 🟢 Faster! 15.39% 0.003 →
0.0025, 0.00255
TreeTools:::postorder_order(dpec40k) 🟢 Faster! 8.53% 3610 →
3320, 3300
TreeTools:::postorder_order(drnd80) 🟢 Faster! 21.99% 0.0051 →
0.00398, 0.00399
TreeTools:::postorder_order(nbal40) ⚪ NSD 0.95% 0.0021 →
0.00207, 0.0021
TreeTools:::postorder_order(nbal40k) 🟢 Faster! 10.33% 2.41 →
2.12, 2.17
TreeTools:::postorder_order(npec40) 🟢 Faster! 14.35% 0.00328 →
0.00279, 0.00283
TreeTools:::postorder_order(npec40k) 🟢 Faster! 8.86% 3630 →
3300, 3330
TreeTools:::postorder_order(nrnd80) 🟢 Faster! 18.71% 0.00562 →
0.00456, 0.00458
TreeTools:::postorder_order(pec40) ⚪ NSD -0.61% 0.00164 →
0.00163, 0.00166
TreeTools:::postorder_order(pec40k) ⚪ NSD -0.78% 0.429 →
0.431, 0.436
TreeTools:::postorder_order(rnd80) ⚪ NSD 0% 0.00208 →
0.00208, 0.00207

@ms609 ms609 merged commit d7ba9f5 into main Jan 6, 2026
19 of 20 checks passed
@ms609 ms609 deleted the large-trees branch January 6, 2026 07:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants