Skip to content

asm popcounts#256

Merged
ms609 merged 3 commits intomainfrom
popcnt
Mar 12, 2026
Merged

asm popcounts#256
ms609 merged 3 commits intomainfrom
popcnt

Conversation

@ms609
Copy link
Copy Markdown
Owner

@ms609 ms609 commented Mar 12, 2026

Speeds up tight loops

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 12, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 96.33%. Comparing base (a13532f) to head (7169b3a).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #256   +/-   ##
=======================================
  Coverage   96.32%   96.33%           
=======================================
  Files          77       77           
  Lines        5749     5750    +1     
=======================================
+ Hits         5538     5539    +1     
  Misses        211      211           

☔ 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
Copy Markdown

Performance benchmark results

Call Status Change Time (ms)
as.Splits(bigTrees) ⚪ NSD 7.86% 26.2 →
25.5, 21.9
as.Splits(someTrees) ⚪ NSD -3.46% 11.7 →
12.2, 11.6
Consensus(forest1k.888, check = FALSE) ⚪ NSD -1.08% 98.6 →
101, 98.6
Consensus(forest201.80, check = FALSE) ⚪ NSD 3.36% 4.34 →
4.23, 4.17
Consensus(forest21.260, 0.5, FALSE) ⚪ NSD 3.22% 1.29 →
1.24, 1.25
Consensus(forest21.260) ⚪ NSD 7.18% 1.35 →
1.25, 1.27
Consensus(forestMaj, 0.5, FALSE) ⚪ NSD -1.4% 2.97 →
3, 3.04
DropTip(tr2000, 5) ⚪ NSD 12.28% 20.3 →
17.8, 17.8
DropTip(tr80, 5) ⚪ NSD 2.46% 0.111 →
0.108, 0.108
DropTip(unlen2k, 5) ⚪ NSD 1.96% 0.219 →
0.222, 0.209
DropTip(unlen80, 5) ⚪ NSD 3.69% 0.0423 →
0.0413, 0.0402
lapply(bigSplits, as.phylo) 🟣 ~same 3.26% 30.8 →
29.8, 29.8
lapply(someSplits, as.phylo) ⚪ NSD 0.34% 14.4 →
14.5, 14
PathLengths(tr2000, full = TRUE) ⚪ NSD 0.52% 17.7 →
17.4, 17.7
PathLengths(tr80, full = TRUE) 🟠 Slower 🙁 -275.03% 0.0306 →
0.117, 0.0437
PathLengths(tr80Unif, full = TRUE) ⚪ NSD -30.29% 0.0325 →
0.118, 0.0394
RootTree(tr2000, 5) ⚪ NSD -2.52% 0.387 →
0.409, 0.386
RootTree(tr80, c("t3", "t36")) ⚪ NSD -0.07% 0.0726 →
0.0742, 0.0714
RootTree(tr80, "t3") ⚪ NSD -1.19% 0.0505 →
0.0513, 0.0509
RootTree(tr80, "t30") ⚪ NSD -1.53% 0.0509 →
0.0524, 0.0512
RootTree(unlen2k, 5) ⚪ NSD 0.33% 0.336 →
0.331, 0.34
RootTree(unlen80, c("t3", "t36")) ⚪ NSD -1.94% 0.0655 →
0.0668, 0.0668
RootTree(unlen80, "t3") ⚪ NSD -0.52% 0.0445 →
0.0456, 0.0443
RootTree(unlen80, "t30") ⚪ NSD -1.39% 0.0445 →
0.046, 0.0446
TreeDist::RobinsonFoulds(forest201.80) ⚪ NSD 18.65% 20.1 →
16.3, 16.4
TreeDist::RobinsonFoulds(forest21.888) ⚪ NSD 11.48% 3.79 →
3.36, 3.35
TreeTools:::path_lengths(tr80$edge, tr80$edge.length, FALSE) ⚪ NSD -2.42% 0.106 →
0.106, 0.112
TreeTools:::postorder_order(bal40) ⚪ NSD 0.62% 0.00177 →
0.00174, 0.00177
TreeTools:::postorder_order(bal40k) ⚪ NSD -0.09% 0.436 →
0.436, 0.437
TreeTools:::postorder_order(dbal40) ⚪ NSD 1.05% 0.0019 →
0.00188, 0.00188
TreeTools:::postorder_order(dbal40k) ⚪ NSD -0.28% 2.39 →
2.42, 2.38
TreeTools:::postorder_order(dpec40) ⚪ NSD 0.93% 0.00312 →
0.0031, 0.00309
TreeTools:::postorder_order(dpec40k) 🟣 ~same -0.21% 3610 →
3620, 3620
TreeTools:::postorder_order(drnd80) ⚪ NSD 0.58% 0.00518 →
0.00519, 0.00513
TreeTools:::postorder_order(nbal40) ⚪ NSD 1.33% 0.00226 →
0.00222, 0.00224
TreeTools:::postorder_order(nbal40k) ⚪ NSD -2% 2.41 →
2.44, 2.57
TreeTools:::postorder_order(npec40) ⚪ NSD 0.88% 0.0034 →
0.00336, 0.00338
TreeTools:::postorder_order(npec40k) 🟣 ~same -0.31% 3630 →
3640, 3640
TreeTools:::postorder_order(nrnd80) ⚪ NSD 0.89% 0.00573 →
0.0057, 0.00565
TreeTools:::postorder_order(pec40) ⚪ NSD 1.69% 0.00177 →
0.00174, 0.00172
TreeTools:::postorder_order(pec40k) ⚪ NSD -0.54% 0.432 →
0.436, 0.433
TreeTools:::postorder_order(rnd80) ⚪ NSD 4.05% 0.00222 →
0.00218, 0.00211

@ms609 ms609 merged commit 70502e1 into main Mar 12, 2026
@ms609 ms609 deleted the popcnt branch March 12, 2026 16:21
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.

1 participant