Skip to content

Conversation

keks
Copy link
Member

@keks keks commented Sep 23, 2025

No description provided.

This comment was marked as outdated.

@keks keks changed the base branch from keks/better-benchmarks to keks/better-benchmarks-testtarget September 23, 2025 16:40
@keks keks force-pushed the keks/better-benchmarks-test branch from 68eaf88 to 427c1e2 Compare September 23, 2025 16:41
Copy link

beep boop, I am the benchmark bot

Comparing PR commit 427c1e2 against baseline ec3eb92.

Benchmark Report

Performance Report:

Visualized Results

os: ubuntu-latest_32, keySize: 512

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 512 portable external random ubuntu-latest_32 55,592 ns 55,583 ns +0.02%
Key Generation ML-KEM 512 portable unpacked (external random) ubuntu-latest_32 55,270 ns 55,218 ns +0.09%
Encapsulation ML-KEM 512 portable external random ubuntu-latest_32 59,529 ns 59,597 ns -0.11%
Encapsulation ML-KEM 512 portable unpacked (external random) ubuntu-latest_32 27,262 ns 27,379 ns -0.43%
Decapsulation ML-KEM 512 portable N/A ubuntu-latest_32 66,097 ns 66,154 ns -0.09%
Decapsulation ML-KEM 512 portable unpacked ubuntu-latest_32 43,229 ns 43,227 ns +0.00%
PK Validation ML-KEM 512 portable N/A ubuntu-latest_32 945 ns 944 ns +0.11%

os: ubuntu-latest_32, keySize: 768

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 768 portable external random ubuntu-latest_32 90,513 ns 90,463 ns +0.06%
Key Generation ML-KEM 768 portable unpacked (external random) ubuntu-latest_32 90,102 ns 90,153 ns -0.06%
Encapsulation ML-KEM 768 portable external random ubuntu-latest_32 99,081 ns 99,068 ns +0.01%
Encapsulation ML-KEM 768 portable unpacked (external random) ubuntu-latest_32 36,111 ns 35,926 ns +0.51%
Decapsulation ML-KEM 768 portable N/A ubuntu-latest_32 108,679 ns 108,247 ns +0.40%
Decapsulation ML-KEM 768 portable unpacked ubuntu-latest_32 58,265 ns 58,189 ns +0.13%
PK Validation ML-KEM 768 portable N/A ubuntu-latest_32 1,379 ns 1,377 ns +0.15%

os: ubuntu-latest_32, keySize: 1024

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 1024 portable external random ubuntu-latest_32 144,226 ns 144,170 ns +0.04%
Key Generation ML-KEM 1024 portable unpacked (external random) ubuntu-latest_32 143,675 ns 143,688 ns -0.01%
Encapsulation ML-KEM 1024 portable external random ubuntu-latest_32 154,301 ns 154,405 ns -0.07%
Encapsulation ML-KEM 1024 portable unpacked (external random) ubuntu-latest_32 49,598 ns 49,583 ns +0.03%
Decapsulation ML-KEM 1024 portable N/A ubuntu-latest_32 167,123 ns 167,028 ns +0.06%
Decapsulation ML-KEM 1024 portable unpacked ubuntu-latest_32 79,678 ns 79,370 ns +0.39%
PK Validation ML-KEM 1024 portable N/A ubuntu-latest_32 1,841 ns 1,827 ns +0.76%

os: windows-latest_32, keySize: 512

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 512 portable external random windows-latest_32 57,439 ns 57,411 ns +0.05%
Key Generation ML-KEM 512 portable unpacked (external random) windows-latest_32 57,272 ns 57,291 ns -0.03%
Encapsulation ML-KEM 512 portable external random windows-latest_32 61,621 ns 62,748 ns -1.83%
Encapsulation ML-KEM 512 portable unpacked (external random) windows-latest_32 28,503 ns 28,103 ns +1.40%
Decapsulation ML-KEM 512 portable N/A windows-latest_32 67,954 ns 68,167 ns -0.31%
Decapsulation ML-KEM 512 portable unpacked windows-latest_32 44,812 ns 46,696 ns -4.20%
PK Validation ML-KEM 512 portable N/A windows-latest_32 1,295 ns 1,275 ns +1.54%

os: windows-latest_32, keySize: 768

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 768 portable external random windows-latest_32 94,670 ns 94,509 ns +0.17%
Key Generation ML-KEM 768 portable unpacked (external random) windows-latest_32 94,511 ns 94,552 ns -0.04%
Encapsulation ML-KEM 768 portable external random windows-latest_32 103,467 ns 103,229 ns +0.23%
Encapsulation ML-KEM 768 portable unpacked (external random) windows-latest_32 36,798 ns 36,669 ns +0.35%
Decapsulation ML-KEM 768 portable N/A windows-latest_32 112,534 ns 112,735 ns -0.18%
Decapsulation ML-KEM 768 portable unpacked windows-latest_32 60,573 ns 60,435 ns +0.23%
PK Validation ML-KEM 768 portable N/A windows-latest_32 1,851 ns 1,855 ns -0.22%

os: windows-latest_32, keySize: 1024

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 1024 portable external random windows-latest_32 150,516 ns 149,777 ns +0.49%
Key Generation ML-KEM 1024 portable unpacked (external random) windows-latest_32 149,908 ns 150,556 ns -0.43%
Encapsulation ML-KEM 1024 portable external random windows-latest_32 160,047 ns 159,712 ns +0.21%
Encapsulation ML-KEM 1024 portable unpacked (external random) windows-latest_32 50,834 ns 50,779 ns +0.11%
Decapsulation ML-KEM 1024 portable N/A windows-latest_32 173,354 ns 173,382 ns -0.02%
Decapsulation ML-KEM 1024 portable unpacked windows-latest_32 81,730 ns 81,589 ns +0.17%
PK Validation ML-KEM 1024 portable N/A windows-latest_32 2,394 ns 2,560 ns -6.93%

os: ubuntu-latest_64, keySize: 512

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 512 portable external random ubuntu-latest_64 20,210 ns 20,248 ns -0.19%
Key Generation ML-KEM 512 portable unpacked (external random) ubuntu-latest_64 19,755 ns 19,740 ns +0.08%
Key Generation ML-KEM 512 avx2 external random ubuntu-latest_64 157,986 ns 158,074 ns -0.06%
Key Generation ML-KEM 512 avx2 unpacked (external random) ubuntu-latest_64 157,734 ns 157,799 ns -0.04%
Encapsulation ML-KEM 512 portable external random ubuntu-latest_64 23,439 ns 23,399 ns +0.17%
Encapsulation ML-KEM 512 portable unpacked (external random) ubuntu-latest_64 14,776 ns 14,815 ns -0.26%
Encapsulation ML-KEM 512 avx2 external random ubuntu-latest_64 122,394 ns 122,353 ns +0.03%
Encapsulation ML-KEM 512 avx2 unpacked (external random) ubuntu-latest_64 116,254 ns 116,279 ns -0.02%
Decapsulation ML-KEM 512 portable N/A ubuntu-latest_64 29,051 ns 28,841 ns +0.72%
Decapsulation ML-KEM 512 portable unpacked ubuntu-latest_64 21,971 ns 21,895 ns +0.35%
Decapsulation ML-KEM 512 avx2 N/A ubuntu-latest_64 123,506 ns 123,607 ns -0.08%
Decapsulation ML-KEM 512 avx2 unpacked ubuntu-latest_64 119,789 ns 119,836 ns -0.04%
PK Validation ML-KEM 512 portable N/A ubuntu-latest_64 871 ns 872 ns -0.11%
PK Validation ML-KEM 512 avx2 N/A ubuntu-latest_64 384 ns 384 ns 0.00%

os: ubuntu-latest_64, keySize: 768

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 768 portable external random ubuntu-latest_64 34,528 ns 34,508 ns +0.06%
Key Generation ML-KEM 768 portable unpacked (external random) ubuntu-latest_64 34,181 ns 34,143 ns +0.11%
Key Generation ML-KEM 768 avx2 external random ubuntu-latest_64 89,734 ns 89,671 ns +0.07%
Key Generation ML-KEM 768 avx2 unpacked (external random) ubuntu-latest_64 89,365 ns 89,368 ns -0.00%
Encapsulation ML-KEM 768 portable external random ubuntu-latest_64 39,504 ns 39,359 ns +0.37%
Encapsulation ML-KEM 768 portable unpacked (external random) ubuntu-latest_64 22,071 ns 22,204 ns -0.60%
Encapsulation ML-KEM 768 avx2 external random ubuntu-latest_64 90,637 ns 90,644 ns -0.01%
Encapsulation ML-KEM 768 avx2 unpacked (external random) ubuntu-latest_64 81,211 ns 81,301 ns -0.11%
Decapsulation ML-KEM 768 portable N/A ubuntu-latest_64 46,887 ns 46,869 ns +0.04%
Decapsulation ML-KEM 768 portable unpacked ubuntu-latest_64 32,182 ns 32,272 ns -0.28%
Decapsulation ML-KEM 768 avx2 N/A ubuntu-latest_64 92,279 ns 92,204 ns +0.08%
Decapsulation ML-KEM 768 avx2 unpacked ubuntu-latest_64 86,298 ns 86,742 ns -0.51%
PK Validation ML-KEM 768 portable N/A ubuntu-latest_64 1,309 ns 1,265 ns +3.36%
PK Validation ML-KEM 768 avx2 N/A ubuntu-latest_64 569 ns 550 ns +3.34%

os: ubuntu-latest_64, keySize: 1024

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 1024 portable external random ubuntu-latest_64 53,804 ns 53,804 ns 0.00%
Key Generation ML-KEM 1024 portable unpacked (external random) ubuntu-latest_64 53,267 ns 53,215 ns +0.10%
Key Generation ML-KEM 1024 avx2 external random ubuntu-latest_64 95,622 ns 95,663 ns -0.04%
Key Generation ML-KEM 1024 avx2 unpacked (external random) ubuntu-latest_64 95,260 ns 95,340 ns -0.08%
Encapsulation ML-KEM 1024 portable external random ubuntu-latest_64 59,748 ns 59,880 ns -0.22%
Encapsulation ML-KEM 1024 portable unpacked (external random) ubuntu-latest_64 31,593 ns 32,956 ns -4.31%
Encapsulation ML-KEM 1024 avx2 external random ubuntu-latest_64 97,475 ns 97,632 ns -0.16%
Encapsulation ML-KEM 1024 avx2 unpacked (external random) ubuntu-latest_64 83,979 ns 84,013 ns -0.04%
Decapsulation ML-KEM 1024 portable N/A ubuntu-latest_64 69,632 ns 69,826 ns -0.28%
Decapsulation ML-KEM 1024 portable unpacked ubuntu-latest_64 44,981 ns 45,001 ns -0.04%
Decapsulation ML-KEM 1024 avx2 N/A ubuntu-latest_64 100,191 ns 100,383 ns -0.19%
Decapsulation ML-KEM 1024 avx2 unpacked ubuntu-latest_64 91,276 ns 91,181 ns +0.10%
PK Validation ML-KEM 1024 portable N/A ubuntu-latest_64 1,726 ns 1,739 ns -0.75%
PK Validation ML-KEM 1024 avx2 N/A ubuntu-latest_64 734 ns 717 ns +2.32%

os: windows-latest_64, keySize: 512

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 512 portable external random windows-latest_64 20,651 ns 20,541 ns +0.53%
Key Generation ML-KEM 512 portable unpacked (external random) windows-latest_64 20,040 ns 20,028 ns +0.06%
Key Generation ML-KEM 512 avx2 external random windows-latest_64 156,562 ns 156,865 ns -0.19%
Key Generation ML-KEM 512 avx2 unpacked (external random) windows-latest_64 154,383 ns 157,072 ns -1.74%
Encapsulation ML-KEM 512 portable external random windows-latest_64 23,820 ns 24,357 ns -2.25%
Encapsulation ML-KEM 512 portable unpacked (external random) windows-latest_64 15,198 ns 15,182 ns +0.11%
Encapsulation ML-KEM 512 avx2 external random windows-latest_64 120,036 ns 120,208 ns -0.14%
Encapsulation ML-KEM 512 avx2 unpacked (external random) windows-latest_64 113,707 ns 114,350 ns -0.57%
Decapsulation ML-KEM 512 portable N/A windows-latest_64 29,265 ns 29,307 ns -0.14%
Decapsulation ML-KEM 512 portable unpacked windows-latest_64 22,484 ns 22,402 ns +0.36%
Decapsulation ML-KEM 512 avx2 N/A windows-latest_64 121,096 ns 120,856 ns +0.20%
Decapsulation ML-KEM 512 avx2 unpacked windows-latest_64 117,217 ns 118,046 ns -0.71%
PK Validation ML-KEM 512 portable N/A windows-latest_64 1,011 ns 1,073 ns -6.13%
PK Validation ML-KEM 512 avx2 N/A windows-latest_64 422 ns 391 ns +7.35%

os: windows-latest_64, keySize: 768

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 768 portable external random windows-latest_64 34,612 ns 34,514 ns +0.28%
Key Generation ML-KEM 768 portable unpacked (external random) windows-latest_64 33,970 ns 34,028 ns -0.17%
Key Generation ML-KEM 768 avx2 external random windows-latest_64 88,113 ns 87,995 ns +0.13%
Key Generation ML-KEM 768 avx2 unpacked (external random) windows-latest_64 88,701 ns 87,711 ns +1.12%
Encapsulation ML-KEM 768 portable external random windows-latest_64 39,489 ns 39,441 ns +0.12%
Encapsulation ML-KEM 768 portable unpacked (external random) windows-latest_64 22,600 ns 22,621 ns -0.09%
Encapsulation ML-KEM 768 avx2 external random windows-latest_64 89,672 ns 89,682 ns -0.01%
Encapsulation ML-KEM 768 avx2 unpacked (external random) windows-latest_64 79,375 ns 79,957 ns -0.73%
Decapsulation ML-KEM 768 portable N/A windows-latest_64 47,566 ns 47,814 ns -0.52%
Decapsulation ML-KEM 768 portable unpacked windows-latest_64 32,984 ns 32,817 ns +0.51%
Decapsulation ML-KEM 768 avx2 N/A windows-latest_64 90,964 ns 91,418 ns -0.50%
Decapsulation ML-KEM 768 avx2 unpacked windows-latest_64 84,530 ns 84,995 ns -0.55%
PK Validation ML-KEM 768 portable N/A windows-latest_64 1,437 ns 1,465 ns -1.95%
PK Validation ML-KEM 768 avx2 N/A windows-latest_64 584 ns 559 ns +4.28%

os: windows-latest_64, keySize: 1024

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 1024 portable external random windows-latest_64 54,510 ns 54,082 ns +0.79%
Key Generation ML-KEM 1024 portable unpacked (external random) windows-latest_64 53,275 ns 53,128 ns +0.28%
Key Generation ML-KEM 1024 avx2 external random windows-latest_64 94,035 ns 93,976 ns +0.06%
Key Generation ML-KEM 1024 avx2 unpacked (external random) windows-latest_64 93,338 ns 93,443 ns -0.11%
Encapsulation ML-KEM 1024 portable external random windows-latest_64 60,274 ns 60,547 ns -0.45%
Encapsulation ML-KEM 1024 portable unpacked (external random) windows-latest_64 32,512 ns 32,347 ns +0.51%
Encapsulation ML-KEM 1024 avx2 external random windows-latest_64 95,612 ns 95,541 ns +0.07%
Encapsulation ML-KEM 1024 avx2 unpacked (external random) windows-latest_64 82,452 ns 83,269 ns -0.99%
Decapsulation ML-KEM 1024 portable N/A windows-latest_64 70,685 ns 70,917 ns -0.33%
Decapsulation ML-KEM 1024 portable unpacked windows-latest_64 45,419 ns 45,473 ns -0.12%
Decapsulation ML-KEM 1024 avx2 N/A windows-latest_64 100,769 ns 98,667 ns +2.09%
Decapsulation ML-KEM 1024 avx2 unpacked windows-latest_64 89,603 ns 104,694 ns -16.84%
PK Validation ML-KEM 1024 portable N/A windows-latest_64 1,866 ns 3,534 ns -89.39%
PK Validation ML-KEM 1024 avx2 N/A windows-latest_64 783 ns 765 ns +2.30%

os: macos-latest_64, keySize: 512

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 512 portable external random macos-latest_64 10,608 ns 11,222 ns -5.79%
Key Generation ML-KEM 512 portable unpacked (external random) macos-latest_64 10,368 ns 11,979 ns -15.54%
Key Generation ML-KEM 512 neon external random macos-latest_64 5,312 ns 5,687 ns -7.06%
Key Generation ML-KEM 512 neon unpacked (external random) macos-latest_64 5,114 ns 5,710 ns -11.65%
Encapsulation ML-KEM 512 portable external random macos-latest_64 11,695 ns 17,561 ns -50.16%
Encapsulation ML-KEM 512 portable unpacked (external random) macos-latest_64 6,526 ns 9,143 ns -40.10%
Encapsulation ML-KEM 512 neon external random macos-latest_64 5,785 ns 7,730 ns -33.62%
Encapsulation ML-KEM 512 neon unpacked (external random) macos-latest_64 3,037 ns 4,189 ns -37.93%
Decapsulation ML-KEM 512 portable N/A macos-latest_64 13,501 ns 18,397 ns -36.26%
Decapsulation ML-KEM 512 portable unpacked macos-latest_64 9,768 ns 10,458 ns -7.06%
Decapsulation ML-KEM 512 neon N/A macos-latest_64 6,851 ns 7,227 ns -5.49%
Decapsulation ML-KEM 512 neon unpacked macos-latest_64 5,058 ns 6,397 ns -26.47%
PK Validation ML-KEM 512 portable N/A macos-latest_64 460 ns 476 ns -3.48%
PK Validation ML-KEM 512 neon N/A macos-latest_64 416 ns 557 ns -33.89%

os: macos-latest_64, keySize: 768

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 768 portable external random macos-latest_64 17,357 ns 18,988 ns -9.40%
Key Generation ML-KEM 768 portable unpacked (external random) macos-latest_64 16,977 ns 18,676 ns -10.01%
Key Generation ML-KEM 768 neon external random macos-latest_64 9,666 ns 10,464 ns -8.26%
Key Generation ML-KEM 768 neon unpacked (external random) macos-latest_64 9,463 ns 11,782 ns -24.51%
Encapsulation ML-KEM 768 portable external random macos-latest_64 19,135 ns 25,318 ns -32.31%
Encapsulation ML-KEM 768 portable unpacked (external random) macos-latest_64 8,966 ns 11,763 ns -31.20%
Encapsulation ML-KEM 768 neon external random macos-latest_64 10,826 ns 14,010 ns -29.41%
Encapsulation ML-KEM 768 neon unpacked (external random) macos-latest_64 4,524 ns 5,788 ns -27.94%
Decapsulation ML-KEM 768 portable N/A macos-latest_64 22,214 ns 24,889 ns -12.04%
Decapsulation ML-KEM 768 portable unpacked macos-latest_64 13,679 ns 15,964 ns -16.70%
Decapsulation ML-KEM 768 neon N/A macos-latest_64 11,991 ns 13,675 ns -14.04%
Decapsulation ML-KEM 768 neon unpacked macos-latest_64 7,158 ns 8,232 ns -15.00%
PK Validation ML-KEM 768 portable N/A macos-latest_64 703 ns 804 ns -14.37%
PK Validation ML-KEM 768 neon N/A macos-latest_64 625 ns 824 ns -31.84%

os: macos-latest_64, keySize: 1024

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 1024 portable external random macos-latest_64 26,618 ns 34,789 ns -30.70%
Key Generation ML-KEM 1024 portable unpacked (external random) macos-latest_64 26,497 ns 28,263 ns -6.66%
Key Generation ML-KEM 1024 neon external random macos-latest_64 14,308 ns 14,344 ns -0.25%
Key Generation ML-KEM 1024 neon unpacked (external random) macos-latest_64 14,104 ns 16,743 ns -18.71%
Encapsulation ML-KEM 1024 portable external random macos-latest_64 29,518 ns 37,990 ns -28.70%
Encapsulation ML-KEM 1024 portable unpacked (external random) macos-latest_64 12,114 ns 12,892 ns -6.42%
Encapsulation ML-KEM 1024 neon external random macos-latest_64 14,973 ns 20,706 ns -38.29%
Encapsulation ML-KEM 1024 neon unpacked (external random) macos-latest_64 5,516 ns 8,342 ns -51.23%
Decapsulation ML-KEM 1024 portable N/A macos-latest_64 32,768 ns 36,955 ns -12.78%
Decapsulation ML-KEM 1024 portable unpacked macos-latest_64 18,182 ns 19,993 ns -9.96%
Decapsulation ML-KEM 1024 neon N/A macos-latest_64 17,071 ns 18,784 ns -10.03%
Decapsulation ML-KEM 1024 neon unpacked macos-latest_64 9,384 ns 11,383 ns -21.30%
PK Validation ML-KEM 1024 portable N/A macos-latest_64 900 ns 958 ns -6.44%
PK Validation ML-KEM 1024 neon N/A macos-latest_64 789 ns 924 ns -17.11%

os: macos-13_64, keySize: 512

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 512 portable external random macos-13_64 34,847 ns N/A Removed 🗑️
Key Generation ML-KEM 512 portable unpacked (external random) macos-13_64 32,424 ns N/A Removed 🗑️
Key Generation ML-KEM 512 avx2 external random macos-13_64 181,343 ns N/A Removed 🗑️
Key Generation ML-KEM 512 avx2 unpacked (external random) macos-13_64 182,128 ns N/A Removed 🗑️
Encapsulation ML-KEM 512 portable external random macos-13_64 45,237 ns N/A Removed 🗑️
Encapsulation ML-KEM 512 portable unpacked (external random) macos-13_64 19,333 ns N/A Removed 🗑️
Encapsulation ML-KEM 512 avx2 external random macos-13_64 106,396 ns N/A Removed 🗑️
Encapsulation ML-KEM 512 avx2 unpacked (external random) macos-13_64 95,746 ns N/A Removed 🗑️
Decapsulation ML-KEM 512 portable N/A macos-13_64 53,919 ns N/A Removed 🗑️
Decapsulation ML-KEM 512 portable unpacked macos-13_64 41,618 ns N/A Removed 🗑️
Decapsulation ML-KEM 512 avx2 N/A macos-13_64 114,108 ns N/A Removed 🗑️
Decapsulation ML-KEM 512 avx2 unpacked macos-13_64 104,158 ns N/A Removed 🗑️
PK Validation ML-KEM 512 portable N/A macos-13_64 1,160 ns N/A Removed 🗑️
PK Validation ML-KEM 512 avx2 N/A macos-13_64 413 ns N/A Removed 🗑️

os: macos-13_64, keySize: 768

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 768 portable external random macos-13_64 70,706 ns N/A Removed 🗑️
Key Generation ML-KEM 768 portable unpacked (external random) macos-13_64 62,517 ns N/A Removed 🗑️
Key Generation ML-KEM 768 avx2 external random macos-13_64 103,537 ns N/A Removed 🗑️
Key Generation ML-KEM 768 avx2 unpacked (external random) macos-13_64 88,690 ns N/A Removed 🗑️
Encapsulation ML-KEM 768 portable external random macos-13_64 63,451 ns N/A Removed 🗑️
Encapsulation ML-KEM 768 portable unpacked (external random) macos-13_64 22,623 ns N/A Removed 🗑️
Encapsulation ML-KEM 768 avx2 external random macos-13_64 75,749 ns N/A Removed 🗑️
Encapsulation ML-KEM 768 avx2 unpacked (external random) macos-13_64 72,798 ns N/A Removed 🗑️
Decapsulation ML-KEM 768 portable N/A macos-13_64 68,431 ns N/A Removed 🗑️
Decapsulation ML-KEM 768 portable unpacked macos-13_64 46,751 ns N/A Removed 🗑️
Decapsulation ML-KEM 768 avx2 N/A macos-13_64 99,239 ns N/A Removed 🗑️
Decapsulation ML-KEM 768 avx2 unpacked macos-13_64 62,856 ns N/A Removed 🗑️
PK Validation ML-KEM 768 portable N/A macos-13_64 2,011 ns N/A Removed 🗑️
PK Validation ML-KEM 768 avx2 N/A macos-13_64 679 ns N/A Removed 🗑️

os: macos-13_64, keySize: 1024

name category keySize platform api os Baseline Current Change
Key Generation ML-KEM 1024 portable external random macos-13_64 82,116 ns N/A Removed 🗑️
Key Generation ML-KEM 1024 portable unpacked (external random) macos-13_64 109,084 ns N/A Removed 🗑️
Key Generation ML-KEM 1024 avx2 external random macos-13_64 121,614 ns N/A Removed 🗑️
Key Generation ML-KEM 1024 avx2 unpacked (external random) macos-13_64 112,425 ns N/A Removed 🗑️
Encapsulation ML-KEM 1024 portable external random macos-13_64 104,550 ns N/A Removed 🗑️
Encapsulation ML-KEM 1024 portable unpacked (external random) macos-13_64 31,583 ns N/A Removed 🗑️
Encapsulation ML-KEM 1024 avx2 external random macos-13_64 94,178 ns N/A Removed 🗑️
Encapsulation ML-KEM 1024 avx2 unpacked (external random) macos-13_64 86,619 ns N/A Removed 🗑️
Decapsulation ML-KEM 1024 portable N/A macos-13_64 89,847 ns N/A Removed 🗑️
Decapsulation ML-KEM 1024 portable unpacked macos-13_64 55,664 ns N/A Removed 🗑️
Decapsulation ML-KEM 1024 avx2 N/A macos-13_64 80,855 ns N/A Removed 🗑️
Decapsulation ML-KEM 1024 avx2 unpacked macos-13_64 67,416 ns N/A Removed 🗑️
PK Validation ML-KEM 1024 portable N/A macos-13_64 2,687 ns N/A Removed 🗑️
PK Validation ML-KEM 1024 avx2 N/A macos-13_64 874 ns N/A Removed 🗑️

Performance Report:

Visualized Results

label: KeyGen, keySize: 44, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 KeyGen portable ubuntu-latest_64 78 μs 78 μs 0.00%
libcrux ML-DSA 44 KeyGen avx2 ubuntu-latest_64 24 μs 24 μs 0.00%
pqclean ML-DSA 44 KeyGen auto ubuntu-latest_64 25 μs 25 μs 0.00%

label: Sign, keySize: 44, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Sign portable ubuntu-latest_64 331 μs 333 μs -0.60%
libcrux ML-DSA 44 Sign avx2 ubuntu-latest_64 888 μs 904 μs -1.80%
pqclean ML-DSA 44 Sign auto ubuntu-latest_64 78 μs 78 μs 0.00%

label: Verify, keySize: 44, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Verify portable ubuntu-latest_64 86 μs 87 μs -1.16%
libcrux ML-DSA 44 Verify avx2 ubuntu-latest_64 33 μs 33 μs 0.00%
pqclean ML-DSA 44 Verify auto ubuntu-latest_64 32 μs 32 μs 0.00%

label: KeyGen, keySize: 65, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 KeyGen portable ubuntu-latest_64 152 μs 153 μs -0.66%
libcrux ML-DSA 65 KeyGen avx2 ubuntu-latest_64 43 μs 43 μs 0.00%
pqclean ML-DSA 65 KeyGen auto ubuntu-latest_64 44 μs 44 μs 0.00%

label: Sign, keySize: 65, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Sign portable ubuntu-latest_64 536 μs 532 μs +0.75%
libcrux ML-DSA 65 Sign avx2 ubuntu-latest_64 1.08 ms 1.1 ms -1.85%
pqclean ML-DSA 65 Sign auto ubuntu-latest_64 123 μs 124 μs -0.81%

label: Verify, keySize: 65, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Verify portable ubuntu-latest_64 146 μs 145 μs +0.68%
libcrux ML-DSA 65 Verify avx2 ubuntu-latest_64 51 μs 51 μs 0.00%
pqclean ML-DSA 65 Verify auto ubuntu-latest_64 50 μs 49 μs +2.00%

label: KeyGen, keySize: 87, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 KeyGen portable ubuntu-latest_64 223 μs 224 μs -0.45%
libcrux ML-DSA 87 KeyGen avx2 ubuntu-latest_64 66 μs 66 μs 0.00%
pqclean ML-DSA 87 KeyGen auto ubuntu-latest_64 71 μs 71 μs 0.00%

label: Sign, keySize: 87, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Sign portable ubuntu-latest_64 657 μs 656 μs +0.15%
libcrux ML-DSA 87 Sign avx2 ubuntu-latest_64 894 μs 881 μs +1.45%
pqclean ML-DSA 87 Sign auto ubuntu-latest_64 144 μs 145 μs -0.69%

label: Verify, keySize: 87, os: ubuntu-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Verify portable ubuntu-latest_64 231 μs 233 μs -0.87%
libcrux ML-DSA 87 Verify avx2 ubuntu-latest_64 76 μs 77 μs -1.32%
pqclean ML-DSA 87 Verify auto ubuntu-latest_64 74 μs 75 μs -1.35%

label: KeyGen, keySize: 44, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 KeyGen portable windows-latest_64 80 μs 81 μs -1.25%
libcrux ML-DSA 44 KeyGen avx2 windows-latest_64 26 μs 25 μs +3.85%
pqclean ML-DSA 44 KeyGen auto windows-latest_64 107 μs 106 μs +0.93%

label: Sign, keySize: 44, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Sign portable windows-latest_64 335 μs 331 μs +1.19%
libcrux ML-DSA 44 Sign avx2 windows-latest_64 928 μs 886 μs +4.53%
pqclean ML-DSA 44 Sign auto windows-latest_64 488 μs 466 μs +4.51%

label: Verify, keySize: 44, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Verify portable windows-latest_64 88 μs 87 μs +1.14%
libcrux ML-DSA 44 Verify avx2 windows-latest_64 41 μs 34 μs +17.07%
pqclean ML-DSA 44 Verify auto windows-latest_64 122 μs 122 μs 0.00%

label: KeyGen, keySize: 65, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 KeyGen portable windows-latest_64 154 μs 154 μs 0.00%
libcrux ML-DSA 65 KeyGen avx2 windows-latest_64 58 μs 49 μs +15.52%
pqclean ML-DSA 65 KeyGen auto windows-latest_64 195 μs 197 μs -1.03%

label: Sign, keySize: 65, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Sign portable windows-latest_64 548 μs 544 μs +0.73%
libcrux ML-DSA 65 Sign avx2 windows-latest_64 1.07 ms 1.06 ms +0.93%
pqclean ML-DSA 65 Sign auto windows-latest_64 720 μs 722 μs -0.28%

label: Verify, keySize: 65, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Verify portable windows-latest_64 147 μs 151 μs -2.72%
libcrux ML-DSA 65 Verify avx2 windows-latest_64 57 μs 67 μs -17.54%
pqclean ML-DSA 65 Verify auto windows-latest_64 188 μs 189 μs -0.53%

label: KeyGen, keySize: 87, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 KeyGen portable windows-latest_64 232 μs 225 μs +3.02%
libcrux ML-DSA 87 KeyGen avx2 windows-latest_64 72 μs 72 μs 0.00%
pqclean ML-DSA 87 KeyGen auto windows-latest_64 317 μs 302 μs +4.73%

label: Sign, keySize: 87, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Sign portable windows-latest_64 672 μs 658 μs +2.08%
libcrux ML-DSA 87 Sign avx2 windows-latest_64 874 μs 876 μs -0.23%
pqclean ML-DSA 87 Sign auto windows-latest_64 934 μs 946 μs -1.28%

label: Verify, keySize: 87, os: windows-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Verify portable windows-latest_64 235 μs 235 μs 0.00%
libcrux ML-DSA 87 Verify avx2 windows-latest_64 87 μs 85 μs +2.30%
pqclean ML-DSA 87 Verify auto windows-latest_64 330 μs 321 μs +2.73%

label: KeyGen, keySize: 44, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 KeyGen portable windows-latest_32 251 μs 225 μs +10.36%
pqclean ML-DSA 44 KeyGen auto windows-latest_32 228 μs 223 μs +2.19%

label: Sign, keySize: 44, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Sign portable windows-latest_32 605 μs 591 μs +2.31%
pqclean ML-DSA 44 Sign auto windows-latest_32 737 μs 725 μs +1.63%

label: Verify, keySize: 44, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Verify portable windows-latest_32 240 μs 222 μs +7.50%
pqclean ML-DSA 44 Verify auto windows-latest_32 242 μs 247 μs -2.07%

label: KeyGen, keySize: 65, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 KeyGen portable windows-latest_32 413 μs 413 μs 0.00%
pqclean ML-DSA 65 KeyGen auto windows-latest_32 412 μs 410 μs +0.49%

label: Sign, keySize: 65, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Sign portable windows-latest_32 923 μs 949 μs -2.82%
pqclean ML-DSA 65 Sign auto windows-latest_32 1.18 ms 1.18 ms 0.00%

label: Verify, keySize: 65, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Verify portable windows-latest_32 390 μs 396 μs -1.54%
pqclean ML-DSA 65 Verify auto windows-latest_32 400 μs 406 μs -1.50%

label: KeyGen, keySize: 87, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 KeyGen portable windows-latest_32 657 μs 669 μs -1.83%
pqclean ML-DSA 87 KeyGen auto windows-latest_32 766 μs 691 μs +9.79%

label: Sign, keySize: 87, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Sign portable windows-latest_32 1.21 ms 1.18 ms +2.48%
pqclean ML-DSA 87 Sign auto windows-latest_32 1.52 ms 1.49 ms +1.97%

label: Verify, keySize: 87, os: windows-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Verify portable windows-latest_32 682 μs 653 μs +4.25%
pqclean ML-DSA 87 Verify auto windows-latest_32 702 μs 694 μs +1.14%

label: KeyGen, keySize: 44, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 KeyGen portable ubuntu-latest_32 209 μs 210 μs -0.48%
pqclean ML-DSA 44 KeyGen auto ubuntu-latest_32 261 μs 261 μs 0.00%

label: Sign, keySize: 44, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Sign portable ubuntu-latest_32 559 μs 549 μs +1.79%
pqclean ML-DSA 44 Sign auto ubuntu-latest_32 806 μs 816 μs -1.24%

label: Verify, keySize: 44, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Verify portable ubuntu-latest_32 216 μs 216 μs 0.00%
pqclean ML-DSA 44 Verify auto ubuntu-latest_32 287 μs 287 μs 0.00%

label: KeyGen, keySize: 65, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 KeyGen portable ubuntu-latest_32 399 μs 398 μs +0.25%
pqclean ML-DSA 65 KeyGen auto ubuntu-latest_32 476 μs 476 μs 0.00%

label: Sign, keySize: 65, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Sign portable ubuntu-latest_32 892 μs 889 μs +0.34%
pqclean ML-DSA 65 Sign auto ubuntu-latest_32 1.3 ms 1.3 ms 0.00%

label: Verify, keySize: 65, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Verify portable ubuntu-latest_32 377 μs 377 μs 0.00%
pqclean ML-DSA 65 Verify auto ubuntu-latest_32 474 μs 474 μs 0.00%

label: KeyGen, keySize: 87, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 KeyGen portable ubuntu-latest_32 637 μs 637 μs 0.00%
pqclean ML-DSA 87 KeyGen auto ubuntu-latest_32 780 μs 779 μs +0.13%

label: Sign, keySize: 87, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Sign portable ubuntu-latest_32 1.15 ms 1.16 ms -0.87%
pqclean ML-DSA 87 Sign auto ubuntu-latest_32 1.66 ms 1.67 ms -0.60%

label: Verify, keySize: 87, os: ubuntu-latest_32

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Verify portable ubuntu-latest_32 623 μs 623 μs 0.00%
pqclean ML-DSA 87 Verify auto ubuntu-latest_32 801 μs 802 μs -0.12%

label: KeyGen, keySize: 44, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 KeyGen portable macos-latest_64 39 μs 51 μs -30.77%
libcrux ML-DSA 44 KeyGen neon macos-latest_64 27 μs 28 μs -3.70%
pqclean ML-DSA 44 KeyGen auto macos-latest_64 23 μs 27 μs -17.39%

label: Sign, keySize: 44, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Sign portable macos-latest_64 160 μs 168 μs -5.00%
libcrux ML-DSA 44 Sign neon macos-latest_64 127 μs 153 μs -20.47%
pqclean ML-DSA 44 Sign auto macos-latest_64 87 μs 88 μs -1.15%

label: Verify, keySize: 44, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Verify portable macos-latest_64 45 μs 45 μs 0.00%
libcrux ML-DSA 44 Verify neon macos-latest_64 33 μs 42 μs -27.27%
pqclean ML-DSA 44 Verify auto macos-latest_64 27 μs 31 μs -14.81%

label: KeyGen, keySize: 65, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 KeyGen portable macos-latest_64 83 μs 102 μs -22.89%
libcrux ML-DSA 65 KeyGen neon macos-latest_64 59 μs 61 μs -3.39%
pqclean ML-DSA 65 KeyGen auto macos-latest_64 49 μs 62 μs -26.53%

label: Sign, keySize: 65, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Sign portable macos-latest_64 249 μs 271 μs -8.84%
libcrux ML-DSA 65 Sign neon macos-latest_64 223 μs 284 μs -27.35%
pqclean ML-DSA 65 Sign auto macos-latest_64 111 μs 125 μs -12.61%

label: Verify, keySize: 65, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Verify portable macos-latest_64 73 μs 77 μs -5.48%
libcrux ML-DSA 65 Verify neon macos-latest_64 53 μs 66 μs -24.53%
pqclean ML-DSA 65 Verify auto macos-latest_64 37 μs 40 μs -8.11%

label: KeyGen, keySize: 87, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 KeyGen portable macos-latest_64 114 μs 129 μs -13.16%
libcrux ML-DSA 87 KeyGen neon macos-latest_64 73 μs 83 μs -13.70%
pqclean ML-DSA 87 KeyGen auto macos-latest_64 55 μs 87 μs -58.18%

label: Sign, keySize: 87, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Sign portable macos-latest_64 322 μs 419 μs -30.12%
libcrux ML-DSA 87 Sign neon macos-latest_64 256 μs 282 μs -10.16%
pqclean ML-DSA 87 Sign auto macos-latest_64 130 μs 194 μs -49.23%

label: Verify, keySize: 87, os: macos-latest_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Verify portable macos-latest_64 115 μs 144 μs -25.22%
libcrux ML-DSA 87 Verify neon macos-latest_64 82 μs 113 μs -37.80%
pqclean ML-DSA 87 Verify auto macos-latest_64 57 μs 73 μs -28.07%

label: KeyGen, keySize: 44, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 KeyGen portable macos-13_64 101 μs N/A Removed 🗑️
libcrux ML-DSA 44 KeyGen avx2 macos-13_64 35 μs N/A Removed 🗑️

label: Sign, keySize: 44, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Sign portable macos-13_64 425 μs N/A Removed 🗑️
libcrux ML-DSA 44 Sign avx2 macos-13_64 723 μs N/A Removed 🗑️

label: Verify, keySize: 44, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 44 Verify portable macos-13_64 115 μs N/A Removed 🗑️
libcrux ML-DSA 44 Verify avx2 macos-13_64 47 μs N/A Removed 🗑️

label: KeyGen, keySize: 65, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 KeyGen portable macos-13_64 197 μs N/A Removed 🗑️
libcrux ML-DSA 65 KeyGen avx2 macos-13_64 68 μs N/A Removed 🗑️

label: Sign, keySize: 65, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Sign portable macos-13_64 570 μs N/A Removed 🗑️
libcrux ML-DSA 65 Sign avx2 macos-13_64 926 μs N/A Removed 🗑️

label: Verify, keySize: 65, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 65 Verify portable macos-13_64 203 μs N/A Removed 🗑️
libcrux ML-DSA 65 Verify avx2 macos-13_64 72 μs N/A Removed 🗑️

label: KeyGen, keySize: 87, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 KeyGen portable macos-13_64 303 μs N/A Removed 🗑️
libcrux ML-DSA 87 KeyGen avx2 macos-13_64 99 μs N/A Removed 🗑️

label: Sign, keySize: 87, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Sign portable macos-13_64 702 μs N/A Removed 🗑️
libcrux ML-DSA 87 Sign avx2 macos-13_64 790 μs N/A Removed 🗑️

label: Verify, keySize: 87, os: macos-13_64

implementation keySize label hardware os Baseline Current Change
libcrux ML-DSA 87 Verify portable macos-13_64 313 μs N/A Removed 🗑️
libcrux ML-DSA 87 Verify avx2 macos-13_64 111 μs N/A Removed 🗑️

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