Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Split supported verification algorithms off from provider#2893

Draft
djc wants to merge 1 commit intomainfrom
provider-no-verify-algs
Draft

Split supported verification algorithms off from provider#2893
djc wants to merge 1 commit intomainfrom
provider-no-verify-algs

Conversation

@djc
Copy link
Member

@djc djc commented Jan 31, 2026

What do we think of doing something like this?

It feels like projects depending on, say, the platform verifier shouldn't have to drag around the provider's signature verification algorithms, even if that means a small ergonomic hit.

@djc djc requested a review from ctz January 31, 2026 15:06
@rustls-benchmarking
Copy link

Benchmark results

Instruction counts

Significant differences

⚠️ There are significant instruction count differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_1.3_no_crypto_server 68197 67095 -1102 (-1.62%) 0.77%
handshake_no_resume_1.2_no_crypto_server 44609 44124 -485 (-1.09%) 0.59%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2412131 2432084 ⚠️ 19953 (0.83%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3992145 3975782 -16363 (-0.41%) 0.28%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1497242 1492381 -4861 (-0.32%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3815629 3806422 -9207 (-0.24%) 0.22%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_tickets_1.2_no_crypto_server 1336592 1328805 -7787 (-0.58%) 1.55%
handshake_session_id_1.2_no_crypto_server 1171158 1177973 6815 (0.58%) 1.78%
handshake_tickets_1.2_no_crypto_client 1335363 1341528 6165 (0.46%) 1.27%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3893852 3911308 17456 (0.45%) 0.90%
handshake_session_id_1.3_no_crypto_client 2448902 2457753 8851 (0.36%) 1.38%
handshake_session_id_ring_1.2_rsa_aes_server 3457433 3468817 11384 (0.33%) 0.54%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 11085177 11121302 36125 (0.33%) 1.56%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 9033304 9062488 29184 (0.32%) 1.18%
handshake_tickets_1.3_no_crypto_client 2460384 2467782 7398 (0.30%) 1.77%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 50261032 50400096 139064 (0.28%) 0.58%
handshake_tickets_ring_1.2_rsa_aes_client 3951911 3941425 -10486 (-0.27%) 0.56%
handshake_tickets_1.3_no_crypto_server 2305237 2299267 -5970 (-0.26%) 0.90%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 41732288 41839704 107416 (0.26%) 0.32%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 9059466 9038407 -21059 (-0.23%) 0.95%
handshake_session_id_1.2_no_crypto_client 1249460 1246582 -2878 (-0.23%) 1.81%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 43097042 43191179 94137 (0.22%) 0.30%
handshake_tickets_ring_1.2_rsa_aes_server 4052939 4044203 -8736 (-0.22%) 0.51%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4383670 4374290 -9380 (-0.21%) 0.27%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 50267400 50372349 104949 (0.21%) 0.53%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 50371681 50470973 99292 (0.20%) 0.61%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10420782 10439619 18837 (0.18%) 1.08%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 11070709 11051260 -19449 (-0.18%) 1.33%
handshake_session_id_ring_1.2_rsa_aes_client 3556442 3550377 -6065 (-0.17%) 0.64%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 5012926 5020703 7777 (0.16%) 0.41%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 50324791 50253283 -71508 (-0.14%) 0.59%
handshake_no_resume_1.3_no_crypto_client 74908 74814 -94 (-0.13%) 0.57%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 50439881 50379148 -60733 (-0.12%) 0.49%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 50281244 50339879 58635 (0.12%) 0.65%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 43073603 43122760 49157 (0.11%) 0.30%
handshake_no_resume_1.2_no_crypto_client 62452 62517 65 (0.10%) 0.26%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 41749415 41790358 40943 (0.10%) 0.41%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 41818189 41858692 40503 (0.10%) 0.44%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 41763716 41723818 -39898 (-0.10%) 0.30%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 43019604 42984026 -35578 (-0.08%) 0.31%
handshake_session_id_ring_1.3_rsa_chacha_client 30668233 30692719 24486 (0.08%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 30759913 30784369 24456 (0.08%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 30781830 30806025 24195 (0.08%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 30854070 30878235 24165 (0.08%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3272980 3275165 2185 (0.07%) 0.24%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 50382218 50349993 -32225 (-0.06%) 0.53%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 43080005 43052855 -27150 (-0.06%) 0.41%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46074410 46098610 24200 (0.05%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46075921 46098842 22921 (0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 50206379 50182956 -23423 (-0.05%) 0.47%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 43042997 43027368 -15629 (-0.04%) 0.37%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 41843395 41857235 13840 (0.03%) 0.29%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58065138 58083425 18287 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58065219 58083471 18252 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80256401 80280602 24201 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80256170 80280370 24200 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46074360 46087465 13105 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58071351 58087617 16266 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80256120 80278295 22175 (0.03%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 31799465 31790711 -8754 (-0.03%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 31921655 31912901 -8754 (-0.03%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 57953475 57938119 -15356 (-0.03%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 57953475 57938119 -15356 (-0.03%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 45911172 45922813 11641 (0.03%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 57810760 57796335 -14425 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 32186121 32193983 7862 (0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 32083101 32090933 7832 (0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 31798582 31791490 -7092 (-0.02%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 50368180 50379409 11229 (0.02%) 0.52%
handshake_session_id_ring_1.3_ecdsap384_aes_server 31920772 31913680 -7092 (-0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 2634664 2635241 577 (0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 30764862 30758259 -6603 (-0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 30673167 30666609 -6558 (-0.02%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92525379 92543710 18331 (0.02%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 45912119 45921200 9081 (0.02%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92525298 92543585 18287 (0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 31779272 31785510 6238 (0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 31901462 31907700 6238 (0.02%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 45912543 45921392 8849 (0.02%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2304575 2305009 434 (0.02%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2310229 2310663 434 (0.02%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46026194 46034754 8560 (0.02%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 50381233 50390483 9250 (0.02%) 0.42%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1489798 1490056 258 (0.02%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 50430287 50439006 8719 (0.02%) 0.50%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 43103353 43110775 7422 (0.02%) 0.43%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92479555 92464199 -15356 (-0.02%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92479555 92464199 -15356 (-0.02%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92532791 92547777 14986 (0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 32083978 32079037 -4941 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 32186998 32182057 -4941 (-0.02%) 0.20%
handshake_session_id_1.3_no_crypto_server 2342125 2342463 338 (0.01%) 0.84%
transfer_no_resume_1.2_no_crypto_client 117037431 117021665 -15766 (-0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 41863046 41868581 5535 (0.01%) 0.30%
transfer_no_resume_1.3_no_crypto_client 117077315 117061959 -15356 (-0.01%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80147639 80158000 10361 (0.01%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80147972 80158333 10361 (0.01%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80148063 80158192 10129 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 30797748 30801586 3838 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 30870003 30873796 3793 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7188046 7188776 730 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7189998 7190712 714 (0.01%) 0.20%
transfer_no_resume_1.2_no_crypto_server 104819100 104829303 10203 (0.01%) 0.20%
transfer_no_resume_1.3_no_crypto_server 104858765 104868871 10106 (0.01%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 32168908 32166207 -2701 (-0.01%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 32065888 32063247 -2641 (-0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 57997593 57992913 -4680 (-0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 2628050 2628235 185 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3276334 3276112 -222 (-0.01%) 0.24%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1687115 1687207 92 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3805037 3804869 -168 (-0.00%) 0.28%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 50195908 50194891 -1017 (-0.00%) 0.64%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1241703 1241678 -25 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 11087419 11087637 218 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11093175 11093391 216 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1240526 1240503 -23 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 10928791 10928924 133 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92479555 92480583 1028 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 30860589 30860280 -309 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 30788349 30788070 -279 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 45844707 45844317 -390 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2176303 2176285 -18 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2415208 2415190 -18 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 30767723 30767497 -226 (-0.00%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 30676043 30675847 -196 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 57953475 57953223 -252 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 34716042 34716172 130 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 34717758 34717871 113 (0.00%) 0.20%

Wall-time

Significant differences

⚠️ There are significant wall-time differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.22 ms 1.18 ms ✅ -0.04 ms (-3.13%) 2.11%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.09 ms 1.06 ms ✅ -0.03 ms (-2.87%) 1.86%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.21 ms 1.18 ms ✅ -0.03 ms (-2.85%) 1.69%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.71 ms 1.67 ms ✅ -0.04 ms (-2.15%) 2.10%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_1.3_no_crypto 91.33 µs 89.21 µs -2.12 µs (-2.33%) 11.89%
handshake_no_resume_1.2_no_crypto 82.16 µs 80.36 µs -1.81 µs (-2.20%) 13.54%
handshake_tickets_1.2_no_crypto 423.54 µs 432.64 µs 9.10 µs (2.15%) 8.01%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.43 ms 5.32 ms -0.11 ms (-1.99%) 4.98%
handshake_session_id_1.3_no_crypto 759.59 µs 774.66 µs 15.07 µs (1.98%) 5.40%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.62 ms 5.52 ms -0.10 ms (-1.75%) 5.21%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 1.88 ms 1.85 ms -0.03 ms (-1.50%) 2.81%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.95 ms 4.88 ms -0.07 ms (-1.46%) 6.84%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.65 ms 5.57 ms -0.08 ms (-1.44%) 5.50%
handshake_session_id_1.2_no_crypto 393.81 µs 398.91 µs 5.10 µs (1.30%) 7.46%
transfer_no_resume_ring_1.3_rsa_aes 6.25 ms 6.17 ms -0.08 ms (-1.22%) 4.14%
handshake_tickets_1.3_no_crypto 737.94 µs 746.81 µs 8.87 µs (1.20%) 6.15%
transfer_no_resume_ring_1.3_ecdsap256_aes 5.76 ms 5.69 ms -0.07 ms (-1.18%) 4.56%
transfer_no_resume_ring_1.2_rsa_aes 6.14 ms 6.08 ms -0.06 ms (-1.05%) 4.87%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 552.59 µs 546.80 µs -5.79 µs (-1.05%) 3.94%
handshake_no_resume_ring_1.3_ecdsap256_aes 471.71 µs 466.88 µs -4.83 µs (-1.02%) 3.19%
handshake_no_resume_ring_1.3_ecdsap256_chacha 469.38 µs 464.69 µs -4.69 µs (-1.00%) 3.80%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 553.65 µs 548.33 µs -5.32 µs (-0.96%) 3.38%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.25 ms 1.24 ms -0.01 ms (-0.83%) 1.79%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 8.19 ms 8.12 ms -0.07 ms (-0.81%) 2.12%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 8.42 ms 8.35 ms -0.07 ms (-0.81%) 2.03%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 8.23 ms 8.16 ms -0.07 ms (-0.81%) 2.12%
transfer_no_resume_ring_1.3_ecdsap384_aes 8.85 ms 8.78 ms -0.07 ms (-0.79%) 2.96%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 8.39 ms 8.32 ms -0.07 ms (-0.78%) 1.84%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.24 ms 1.23 ms -0.01 ms (-0.77%) 1.56%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 14.10 ms 14.00 ms -0.10 ms (-0.69%) 1.98%
handshake_tickets_ring_1.2_rsa_aes 1.57 ms 1.58 ms 0.01 ms (0.61%) 2.52%
transfer_no_resume_ring_1.3_ecdsap256_chacha 13.33 ms 13.25 ms -0.08 ms (-0.60%) 2.04%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 14.13 ms 14.05 ms -0.08 ms (-0.59%) 1.96%
handshake_no_resume_ring_1.3_rsa_aes 960.40 µs 954.80 µs -5.60 µs (-0.58%) 1.37%
transfer_no_resume_1.3_no_crypto 12.13 ms 12.06 ms -0.07 ms (-0.56%) 2.69%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 8.18 ms 8.14 ms -0.05 ms (-0.55%) 1.57%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 8.43 ms 8.38 ms -0.04 ms (-0.53%) 2.07%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 8.40 ms 8.36 ms -0.04 ms (-0.53%) 1.69%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 13.44 ms 13.37 ms -0.07 ms (-0.53%) 2.21%
handshake_no_resume_ring_1.2_rsa_aes 952.65 µs 947.81 µs -4.84 µs (-0.51%) 1.66%
handshake_tickets_ring_1.3_ecdsap256_chacha 5.64 ms 5.61 ms -0.03 ms (-0.50%) 2.21%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 7.50 ms 7.46 ms -0.04 ms (-0.50%) 2.06%
handshake_tickets_ring_1.3_ecdsap256_aes 5.68 ms 5.66 ms -0.03 ms (-0.50%) 2.25%
handshake_no_resume_ring_1.3_rsa_chacha 963.23 µs 958.47 µs -4.76 µs (-0.49%) 1.66%
transfer_no_resume_1.2_no_crypto 12.07 ms 12.01 ms -0.06 ms (-0.49%) 2.66%
transfer_no_resume_ring_1.3_rsa_chacha 13.81 ms 13.74 ms -0.07 ms (-0.48%) 2.05%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 8.22 ms 8.18 ms -0.04 ms (-0.47%) 2.03%
handshake_tickets_ring_1.3_rsa_chacha 6.14 ms 6.11 ms -0.03 ms (-0.47%) 2.05%
handshake_tickets_ring_1.3_rsa_aes 6.18 ms 6.15 ms -0.03 ms (-0.45%) 2.04%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 7.74 ms 7.70 ms -0.03 ms (-0.43%) 2.10%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.41 ms 16.34 ms -0.07 ms (-0.42%) 1.60%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 7.71 ms 7.67 ms -0.03 ms (-0.41%) 2.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 7.53 ms 7.50 ms -0.03 ms (-0.35%) 2.37%
handshake_tickets_ring_1.3_ecdsap384_aes 8.77 ms 8.75 ms -0.03 ms (-0.32%) 1.59%
handshake_session_id_ring_1.3_rsa_aes 6.12 ms 6.10 ms -0.02 ms (-0.30%) 1.78%
handshake_session_id_ring_1.3_rsa_chacha 6.07 ms 6.05 ms -0.02 ms (-0.29%) 1.65%
handshake_session_id_ring_1.3_ecdsap384_aes 8.71 ms 8.68 ms -0.02 ms (-0.28%) 1.26%
handshake_session_id_ring_1.3_ecdsap256_chacha 5.58 ms 5.56 ms -0.02 ms (-0.27%) 1.86%
handshake_tickets_ring_1.3_ecdsap384_chacha 8.73 ms 8.71 ms -0.02 ms (-0.26%) 1.46%
handshake_session_id_ring_1.2_rsa_aes 1.48 ms 1.48 ms -0.00 ms (-0.25%) 2.37%
handshake_session_id_ring_1.3_ecdsap384_chacha 8.67 ms 8.65 ms -0.02 ms (-0.23%) 1.53%
handshake_session_id_ring_1.3_ecdsap256_aes 5.61 ms 5.60 ms -0.01 ms (-0.22%) 1.93%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.57 ms 3.56 ms -0.01 ms (-0.18%) 2.50%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.57 ms 3.56 ms -0.00 ms (-0.14%) 2.35%

Memory usage

Key:

  • ∑: sum usage for entire benchmark run
  • 🔝: peak usage
  • B: bytes
  • a: allocations

Significant differences

⚠️ There are significant memory usage differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_1.2_no_crypto_client ∑ 108425B 505a
🔝 45383B 276a
∑ 112777B 505a
🔝 46919B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (4.01%)
0.10%
handshake_no_resume_1.3_no_crypto_client ∑ 109827B 505a
🔝 45383B 276a
∑ 114179B 505a
🔝 46919B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.96%)
0.10%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client ∑ 119198B 521a
🔝 45383B 276a
∑ 123552B 521a
🔝 46919B 276a
⚠️ ∑ +4354B +0a
🔝 +1536B +0a (3.65%)
0.10%
handshake_no_resume_ring_1.3_ecdsap256_aes_client ∑ 119196B 521a
🔝 45381B 276a
∑ 123548B 521a
🔝 46917B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.65%)
0.10%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client ∑ 119911B 525a
🔝 45383B 276a
∑ 124263B 525a
🔝 46919B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.63%)
0.10%
handshake_no_resume_ring_1.3_ecdsap384_aes_client ∑ 119912B 525a
🔝 45383B 276a
∑ 124262B 525a
🔝 46919B 276a
⚠️ ∑ +4350B +0a
🔝 +1536B +0a (3.63%)
0.10%
handshake_no_resume_1.2_no_crypto_server ∑ 121131B 494a
🔝 54879B 187a
∑ 125483B 494a
🔝 56415B 187a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.59%)
0.10%
handshake_no_resume_1.3_no_crypto_server ∑ 121566B 521a
🔝 54879B 187a
∑ 125918B 521a
🔝 56415B 187a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.58%)
0.10%
handshake_no_resume_ring_1.2_rsa_aes_client ∑ 123781B 537a
🔝 45381B 276a
∑ 128133B 537a
🔝 46917B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.52%)
0.10%
handshake_no_resume_ring_1.3_rsa_aes_client ∑ 129396B 537a
🔝 45381B 276a
∑ 133748B 537a
🔝 46917B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.36%)
0.10%
handshake_no_resume_ring_1.3_rsa_chacha_client ∑ 129398B 537a
🔝 45383B 276a
∑ 133750B 537a
🔝 46919B 276a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.36%)
0.10%
handshake_session_id_1.2_no_crypto_client ∑ 130419B 563a
🔝 51139B 191a
∑ 134771B 563a
🔝 52675B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.34%)
0.10%
handshake_tickets_1.2_no_crypto_client ∑ 132251B 569a
🔝 51139B 191a
∑ 136603B 569a
🔝 52675B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.29%)
0.10%
handshake_tickets_1.2_no_crypto_server ∑ 132605B 583a
🔝 63860B 204a
∑ 136957B 583a
🔝 65396B 204a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.28%)
0.10%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server ∑ 134538B 541a
🔝 56556B 192a
∑ 138896B 541a
🔝 58092B 192a
⚠️ ∑ +4358B +0a
🔝 +1536B +0a (3.24%)
0.10%
handshake_no_resume_ring_1.3_ecdsap256_aes_server ∑ 134536B 541a
🔝 56556B 192a
∑ 138888B 541a
🔝 58092B 192a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.23%)
0.10%
handshake_tickets_1.3_no_crypto_server ∑ 135246B 650a
🔝 64018B 210a
∑ 139598B 650a
🔝 65554B 210a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.22%)
0.10%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server ∑ 135761B 541a
🔝 56736B 192a
∑ 140113B 541a
🔝 58272B 192a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.21%)
0.10%
handshake_no_resume_ring_1.3_ecdsap384_aes_server ∑ 135764B 541a
🔝 56736B 192a
∑ 140110B 541a
🔝 58272B 192a
⚠️ ∑ +4346B +0a
🔝 +1536B +0a (3.20%)
0.10%
handshake_session_id_1.3_no_crypto_client ∑ 136628B 629a
🔝 51139B 191a
∑ 140980B 629a
🔝 52675B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.19%)
0.10%
handshake_tickets_1.3_no_crypto_client ∑ 136884B 629a
🔝 51139B 191a
∑ 141236B 629a
🔝 52675B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (3.18%)
0.10%
handshake_session_id_1.2_no_crypto_server ∑ 146835B 558a
🔝 70599B 189a
∑ 151187B 558a
🔝 72135B 189a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.96%)
0.10%
handshake_no_resume_ring_1.2_rsa_aes_server ∑ 148725B 540a
🔝 59408B 202a
∑ 153077B 540a
🔝 60944B 202a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.93%)
0.10%
handshake_session_id_1.3_no_crypto_server ∑ 149958B 655a
🔝 70599B 189a
∑ 154310B 655a
🔝 72135B 189a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.90%)
0.10%
handshake_no_resume_ring_1.3_rsa_aes_server ∑ 151808B 565a
🔝 59408B 202a
∑ 156160B 565a
🔝 60944B 202a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.87%)
0.10%
handshake_no_resume_ring_1.3_rsa_chacha_server ∑ 151810B 565a
🔝 59408B 202a
∑ 156162B 565a
🔝 60944B 202a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.87%)
0.10%
handshake_session_id_ring_1.2_rsa_aes_client ∑ 154041B 607a
🔝 51320B 191a
∑ 158393B 607a
🔝 52856B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.83%)
0.10%
handshake_tickets_ring_1.3_ecdsap256_aes_server ∑ 155609B 677a
🔝 69856B 219a
∑ 159964B 677a
🔝 71393B 219a
⚠️ ∑ +4355B +0a
🔝 +1537B +0a (2.80%)
0.10%
handshake_tickets_ring_1.3_ecdsap256_chacha_server ∑ 155609B 677a
🔝 69856B 219a
∑ 159961B 677a
🔝 71392B 219a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.80%)
0.10%
handshake_tickets_ring_1.2_rsa_aes_client ∑ 155833B 612a
🔝 51320B 191a
∑ 160185B 612a
🔝 52856B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.79%)
0.10%
handshake_tickets_ring_1.3_ecdsap384_chacha_server ∑ 156829B 677a
🔝 70488B 219a
∑ 161184B 677a
🔝 72025B 219a
⚠️ ∑ +4355B +0a
🔝 +1537B +0a (2.78%)
0.10%
handshake_tickets_ring_1.3_ecdsap384_aes_server ∑ 156829B 677a
🔝 70488B 219a
∑ 161181B 677a
🔝 72024B 219a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.77%)
0.10%
handshake_session_id_ring_1.3_ecdsap256_aes_client ∑ 156951B 661a
🔝 51121B 191a
∑ 161304B 661a
🔝 52657B 191a
⚠️ ∑ +4353B +0a
🔝 +1536B +0a (2.77%)
0.10%
handshake_session_id_ring_1.3_ecdsap256_chacha_client ∑ 156953B 661a
🔝 51121B 191a
∑ 161305B 661a
🔝 52657B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.77%)
0.10%
handshake_session_id_ring_1.3_ecdsap384_chacha_client ∑ 158744B 665a
🔝 51150B 191a
∑ 163098B 665a
🔝 52686B 191a
⚠️ ∑ +4354B +0a
🔝 +1536B +0a (2.74%)
0.10%
handshake_tickets_ring_1.3_ecdsap256_aes_client ∑ 158777B 663a
🔝 51121B 191a
∑ 163130B 663a
🔝 52657B 191a
⚠️ ∑ +4353B +0a
🔝 +1536B +0a (2.74%)
0.10%
handshake_tickets_ring_1.3_ecdsap256_chacha_client ∑ 158777B 663a
🔝 51121B 191a
∑ 163129B 663a
🔝 52657B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.74%)
0.10%
handshake_session_id_ring_1.3_ecdsap384_aes_client ∑ 158746B 665a
🔝 51150B 191a
∑ 163096B 665a
🔝 52686B 191a
⚠️ ∑ +4350B +0a
🔝 +1536B +0a (2.74%)
0.10%
handshake_tickets_ring_1.3_ecdsap384_chacha_client ∑ 160569B 667a
🔝 51150B 191a
∑ 164922B 667a
🔝 52686B 191a
⚠️ ∑ +4353B +0a
🔝 +1536B +0a (2.71%)
0.10%
handshake_tickets_ring_1.3_ecdsap384_aes_client ∑ 160569B 667a
🔝 51150B 191a
∑ 164921B 667a
🔝 52686B 191a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.71%)
0.10%
handshake_tickets_ring_1.2_rsa_aes_server ∑ 163091B 635a
🔝 74537B 222a
∑ 167443B 635a
🔝 76073B 222a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.67%)
0.10%
handshake_session_id_ring_1.3_ecdsap256_aes_server ∑ 169067B 681a
🔝 72276B 194a
∑ 173422B 681a
🔝 73812B 194a
⚠️ ∑ +4355B +0a
🔝 +1536B +0a (2.58%)
0.10%
handshake_session_id_ring_1.3_ecdsap256_chacha_server ∑ 169069B 681a
🔝 72276B 194a
∑ 173421B 681a
🔝 73812B 194a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.57%)
0.10%
handshake_session_id_ring_1.3_ecdsap384_chacha_server ∑ 170286B 681a
🔝 72456B 194a
∑ 174644B 681a
🔝 73992B 194a
⚠️ ∑ +4358B +0a
🔝 +1536B +0a (2.56%)
0.10%
handshake_session_id_ring_1.3_ecdsap384_aes_server ∑ 170292B 681a
🔝 72456B 194a
∑ 174638B 681a
🔝 73992B 194a
⚠️ ∑ +4346B +0a
🔝 +1536B +0a (2.55%)
0.10%
handshake_tickets_ring_1.3_rsa_aes_server ∑ 172892B 701a
🔝 75646B 229a
∑ 177244B 701a
🔝 77182B 229a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.52%)
0.10%
handshake_tickets_ring_1.3_rsa_chacha_server ∑ 172894B 701a
🔝 75646B 229a
∑ 177246B 701a
🔝 77182B 229a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.52%)
0.10%
handshake_session_id_ring_1.3_rsa_aes_client ∑ 174212B 677a
🔝 55689B 231a
∑ 178564B 677a
🔝 57225B 231a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.50%)
0.10%
handshake_session_id_ring_1.3_rsa_chacha_client ∑ 174214B 677a
🔝 55689B 231a
∑ 178566B 677a
🔝 57225B 231a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.50%)
0.10%
handshake_tickets_ring_1.3_rsa_aes_client ∑ 176036B 679a
🔝 55917B 231a
∑ 180388B 679a
🔝 57453B 231a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.47%)
0.10%
handshake_tickets_ring_1.3_rsa_chacha_client ∑ 176038B 679a
🔝 55917B 231a
∑ 180390B 679a
🔝 57453B 231a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.47%)
0.10%
handshake_session_id_ring_1.2_rsa_aes_server ∑ 176229B 609a
🔝 75128B 204a
∑ 180581B 609a
🔝 76664B 204a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.47%)
0.10%
handshake_session_id_ring_1.3_rsa_aes_server ∑ 186352B 705a
🔝 75128B 204a
∑ 190704B 705a
🔝 76664B 204a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.34%)
0.10%
handshake_session_id_ring_1.3_rsa_chacha_server ∑ 186354B 705a
🔝 75128B 204a
∑ 190706B 705a
🔝 76664B 204a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (2.34%)
0.10%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server ∑ 463408B 732a
🔝 208144B 221a
∑ 468872B 740a
🔝 209680B 221a
⚠️ ∑ +5464B +8a
🔝 +1536B +0a (1.18%)
0.96%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server ∑ 503861B 999a
🔝 219161B 305a
∑ 509325B 1007a
🔝 221457B 311a
⚠️ ∑ +5464B +8a
🔝 +2296B +6a (1.08%)
0.88%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server ∑ 512177B 985a
🔝 208144B 221a
∑ 517641B 993a
🔝 209680B 221a
⚠️ ∑ +5464B +8a
🔝 +1536B +0a (1.07%)
0.87%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client ∑ 411888B 666a
🔝 175128B 196a
∑ 416240B 666a
🔝 176664B 196a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (1.06%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client ∑ 420939B 686a
🔝 174929B 196a
∑ 425319B 687a
🔝 176465B 196a
⚠️ ∑ +4380B +1a
🔝 +1536B +0a (1.04%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client ∑ 420980B 686a
🔝 174929B 196a
∑ 425332B 686a
🔝 176465B 196a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (1.03%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server ∑ 430746B 673a
🔝 189913B 205a
∑ 435194B 674a
🔝 191449B 205a
⚠️ ∑ +4448B +1a
🔝 +1536B +0a (1.03%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client ∑ 422576B 691a
🔝 174958B 196a
∑ 426928B 691a
🔝 176494B 196a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (1.03%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client ∑ 422544B 691a
🔝 174958B 196a
∑ 426859B 690a
🔝 176494B 196a
⚠️ ∑ +4315B -1a
🔝 +1536B +0a (1.02%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server ∑ 428694B 668a
🔝 189701B 205a
∑ 433050B 668a
🔝 191237B 205a
⚠️ ∑ +4356B +0a
🔝 +1536B +0a (1.02%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server ∑ 428730B 668a
🔝 189701B 205a
∑ 433082B 668a
🔝 191237B 205a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (1.02%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server ∑ 430778B 673a
🔝 189913B 205a
∑ 435130B 673a
🔝 191449B 205a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (1.01%)
0.10%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client ∑ 442598B 746a
🔝 184152B 199a
∑ 446950B 746a
🔝 185688B 199a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.98%)
0.10%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client ∑ 444534B 751a
🔝 184229B 231a
∑ 448886B 751a
🔝 185765B 231a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.98%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client ∑ 453423B 735a
🔝 178467B 250a
∑ 457775B 735a
🔝 180003B 250a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.96%)
0.10%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client ∑ 453455B 735a
🔝 178483B 250a
∑ 457807B 735a
🔝 180019B 250a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.96%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server ∑ 477698B 928a
🔝 208198B 240a
∑ 482146B 929a
🔝 209732B 240a
⚠️ ∑ +4448B +1a
🔝 +1534B +0a (0.93%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server ∑ 475654B 922a
🔝 207550B 240a
∑ 480074B 923a
🔝 209085B 240a
⚠️ ∑ +4420B +1a
🔝 +1535B +0a (0.93%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server ∑ 485942B 914a
🔝 205633B 207a
∑ 490394B 915a
🔝 207169B 207a
⚠️ ∑ +4452B +1a
🔝 +1536B +0a (0.92%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server ∑ 477866B 929a
🔝 208212B 240a
∑ 482218B 929a
🔝 209748B 240a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.91%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server ∑ 475650B 923a
🔝 207533B 240a
∑ 479934B 922a
🔝 209070B 240a
⚠️ ∑ +4284B -1a
🔝 +1537B +0a (0.90%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client ∑ 488475B 926a
🔝 187367B 243a
∑ 492864B 927a
🔝 188903B 243a
⚠️ ∑ +4389B +1a
🔝 +1536B +0a (0.90%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server ∑ 483966B 909a
🔝 205421B 207a
∑ 488314B 909a
🔝 206957B 207a
⚠️ ∑ +4348B +0a
🔝 +1536B +0a (0.90%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server ∑ 486114B 915a
🔝 205633B 207a
∑ 490466B 915a
🔝 207169B 207a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.90%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client ∑ 489399B 927a
🔝 187703B 243a
∑ 493760B 927a
🔝 189239B 243a
⚠️ ∑ +4361B +0a
🔝 +1536B +0a (0.89%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client ∑ 491196B 930a
🔝 187756B 243a
∑ 495567B 931a
🔝 189292B 243a
⚠️ ∑ +4371B +1a
🔝 +1536B +0a (0.89%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client ∑ 489472B 927a
🔝 187703B 243a
∑ 493815B 927a
🔝 189239B 243a
⚠️ ∑ +4343B +0a
🔝 +1536B +0a (0.89%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server ∑ 483890B 909a
🔝 205421B 207a
∑ 488178B 908a
🔝 206957B 207a
⚠️ ∑ +4288B -1a
🔝 +1536B +0a (0.89%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client ∑ 488567B 927a
🔝 187367B 243a
∑ 492891B 926a
🔝 188903B 243a
⚠️ ∑ +4324B -1a
🔝 +1536B +0a (0.89%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client ∑ 492083B 930a
🔝 188092B 243a
∑ 496435B 930a
🔝 189628B 243a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.88%)
0.10%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client ∑ 491160B 931a
🔝 187756B 243a
∑ 495503B 931a
🔝 189292B 243a
⚠️ ∑ +4343B +0a
🔝 +1536B +0a (0.88%)
0.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client ∑ 492056B 931a
🔝 188092B 243a
∑ 496371B 930a
🔝 189628B 243a
⚠️ ∑ +4315B -1a
🔝 +1536B +0a (0.88%)
0.10%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client ∑ 528021B 975a
🔝 189920B 243a
∑ 532373B 975a
🔝 191456B 243a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.82%)
0.10%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client ∑ 528085B 975a
🔝 189920B 243a
∑ 532437B 975a
🔝 191456B 243a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.82%)
0.10%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client ∑ 528917B 975a
🔝 190256B 243a
∑ 533269B 975a
🔝 191792B 243a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.82%)
0.10%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client ∑ 528981B 975a
🔝 190256B 243a
∑ 533333B 975a
🔝 191792B 243a
⚠️ ∑ +4352B +0a
🔝 +1536B +0a (0.82%)
0.10%

Additional information

Historical results

Checkout details:

@codecov
Copy link

codecov bot commented Jan 31, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 93.29%. Comparing base (3b342b3) to head (4bc6b71).
⚠️ Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2893      +/-   ##
==========================================
- Coverage   93.37%   93.29%   -0.09%     
==========================================
  Files          98       98              
  Lines       22024    22029       +5     
  Branches      632      632              
==========================================
- Hits        20565    20552      -13     
- Misses       1317     1335      +18     
  Partials      142      142              

☔ 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.

@ctz
Copy link
Member

ctz commented Jan 31, 2026

I think this sort of effort should start with rustls-platform-verifier having no dependency on CryptoProvider::signature_verification_algorithms. Currently it uses it on every platform!

@djc
Copy link
Member Author

djc commented Feb 2, 2026

I think this sort of effort should start with rustls-platform-verifier having no dependency on CryptoProvider::signature_verification_algorithms. Currently it uses it on every platform!

Ahh, I forgot that verify_server_cert() was just one part of the verifier, and we also have the verify_tls1*_signature() methods which do still end up using the WebPkiSupportedAlgorithms.

So do you think this conceptually makes no sense? It still feels a little weird that rustls itself does not use CryptoProvider::signature_verification_algorithms directly.

@ctz
Copy link
Member

ctz commented Feb 3, 2026

I think this sort of effort should start with rustls-platform-verifier having no dependency on CryptoProvider::signature_verification_algorithms. Currently it uses it on every platform!

Ahh, I forgot that verify_server_cert() was just one part of the verifier, and we also have the verify_tls1*_signature() methods which do still end up using the WebPkiSupportedAlgorithms.

So do you think this conceptually makes no sense? It still feels a little weird that rustls itself does not use CryptoProvider::signature_verification_algorithms directly.

In an ideal world there would be a base CryptoProvider and refinements to it (eg, one with HPKE suites for use with ECH, another with signature verification for built-in certificate verification, another with key loading for servers or clients proving their identity, and then all combinations of these). The outcome would be that all CryptoProvider configuration surface would deal with all of these, and the API for (eg) ECH would become unavailable if your configured provider can't do that, and nobody would have to deal with a fragmented set of items like in this PR.

However, I don't know how to actually do that without creating a system of multi-dimension generic types that would make a libboost maintainer go "ehh, steady on!"

@djc
Copy link
Member Author

djc commented Feb 3, 2026

However, I don't know how to actually do that without creating a system of multi-dimension generic types that would make a libboost maintainer go "ehh, steady on!"

I'll take that as a challenge! What if CryptoProvider becomes a trait and we have various subtraits? ServerConfig and ClientConfig both take a <P> for their provider and a P: CryptoProvider can additionally be QuicProvider or HpkeProvider. Doesn't seem all that multidimensional?

@ctz
Copy link
Member

ctz commented Feb 3, 2026

I guess the multidimensional part would be someone wanting to do quic+client auth+default server verifier? So they would have to find/construct a type that impl CryptoProvider + QuicProvider + AuthProvider + VerifierProvider or whatever

@djc
Copy link
Member Author

djc commented Feb 3, 2026

Sure, but I would argue that's additive and so only constitutes a single dimension? It doesn't seem very onerous, particularly if it's mostly just AwsLcRsProvider providing a bunch of stuff, the Ring provider providing less stuff, etc.

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