Skip to content

Conversation

@djc
Copy link
Member

@djc djc commented Nov 10, 2025

Fixes #1876 by providing an optional TicketerFactory implementation in CryptoProviders.

@cpu in that issue:

I'm not sure that we want to link the ProducesTicketer implementation into the CryptoProvider struct as a field but I'm curious what others think. 🤔

There's not really a "default" ticketer from my perspective, just two convenient implementations of dyn ProducesTickets made available for the built in cryptography provider options. From that viewpoint I think what's missing is a way to get the right one depending on whether you have unambiguously set crate features such that it's possible to pick the right one without more thought.

I think it's probably helpful to have crypto providers provide a default option. In this PR, I've made the CryptoProvider field an Option so that providers can still opt out of providing it (although that makes usage little uglier). I think the API I came up with (independently) mirrors @ctz's suggestion in the issue. With this setup, callers can still provider their own TicketProducer implementation but crypto providers have a way of exposing a default one for their crypto stack.

Quoting myself:

So I guess it would be cool if we could reformulate the ring_like AeadTicketer (which somewhat confusingly lives in crypto::ring::ticketer) to rely on, maybe, a Tls13AeadAlgorithm implementation instead of using the ring_like::aead primitives directly?

I don't think this is workable, since the existing AEAD traits are very focused on messages.

@djc djc requested a review from ctz November 10, 2025 14:59
@rustls-benchmarking
Copy link

rustls-benchmarking bot commented Nov 10, 2025

Benchmark results

Instruction counts

Significant differences

⚠️ There are significant instruction count differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2432512 2412082 -20430 (-0.84%) 0.20%
handshake_no_resume_1.3_no_crypto_server 64680 64187 -493 (-0.76%) 0.20%
handshake_tickets_1.3_no_crypto_server 2211693 2222323 ⚠️ 10630 (0.48%) 0.26%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 50452715 50238717 -213998 (-0.42%) 0.41%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 2641973 2631636 -10337 (-0.39%) 0.20%
handshake_tickets_1.2_no_crypto_server 1291357 1287209 -4148 (-0.32%) 0.27%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 42995170 43127648 ⚠️ 132478 (0.31%) 0.26%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 9079995 9012787 -67208 (-0.74%) 0.93%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 11044056 11107758 63702 (0.58%) 1.42%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 50295807 50482905 187098 (0.37%) 0.44%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10457991 10421492 -36499 (-0.35%) 1.19%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 4989456 4975873 -13583 (-0.27%) 0.57%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 9020315 8996010 -24305 (-0.27%) 1.05%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 43042041 42928503 -113538 (-0.26%) 0.29%
handshake_session_id_1.3_no_crypto_server 2268694 2263112 -5582 (-0.25%) 0.27%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 11059136 11078995 19859 (0.18%) 1.10%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 50386794 50305763 -81031 (-0.16%) 0.57%
handshake_session_id_1.2_no_crypto_server 1142285 1140541 -1744 (-0.15%) 0.32%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 50128396 50055255 -73141 (-0.15%) 0.62%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 50098989 50172019 73030 (0.15%) 0.46%
handshake_tickets_1.3_no_crypto_client 2379112 2382555 3443 (0.14%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 50221497 50290011 68514 (0.14%) 0.56%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 50058235 50124069 65834 (0.13%) 0.60%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 41726687 41677597 -49090 (-0.12%) 0.28%
handshake_tickets_ring_1.2_rsa_aes_server 3985430 3980942 -4488 (-0.11%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3852226 3848270 -3956 (-0.10%) 0.29%
handshake_session_id_1.2_no_crypto_client 1216638 1217841 1203 (0.10%) 0.24%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 50350861 50304657 -46204 (-0.09%) 0.53%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 41730962 41694524 -36438 (-0.09%) 0.33%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 50089408 50047848 -41560 (-0.08%) 0.64%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 43075296 43041545 -33751 (-0.08%) 0.29%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 42992454 42959000 -33454 (-0.08%) 0.27%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 42898184 42930116 31932 (0.07%) 0.31%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 41573281 41542443 -30838 (-0.07%) 0.35%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 50169975 50132907 -37068 (-0.07%) 0.48%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 41606925 41637201 30276 (0.07%) 0.35%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4337547 4334490 -3057 (-0.07%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3800657 3802897 2240 (0.06%) 4.07%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46028130 46001878 -26252 (-0.06%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46028387 46002169 -26218 (-0.06%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_server 3414138 3416075 1937 (0.06%) 0.20%
handshake_no_resume_1.3_no_crypto_client 73081 73042 -39 (-0.05%) 0.27%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 50241338 50215696 -25642 (-0.05%) 0.47%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 30540584 30525426 -15158 (-0.05%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 30632234 30617096 -15138 (-0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 41740157 41756178 16021 (0.04%) 0.29%
handshake_tickets_ring_1.3_rsa_chacha_server 31997492 31985783 -11709 (-0.04%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 32100452 32088788 -11664 (-0.04%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46027061 46010994 -16067 (-0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80208610 80182358 -26252 (-0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80208867 80182649 -26218 (-0.03%) 0.20%
handshake_tickets_1.2_no_crypto_client 1304693 1305113 420 (0.03%) 0.22%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 31709116 31699584 -9532 (-0.03%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 31831306 31821774 -9532 (-0.03%) 0.20%
handshake_no_resume_1.2_no_crypto_server 42956 42968 12 (0.03%) 0.40%
handshake_session_id_ring_1.3_rsa_chacha_server 31694241 31701287 7046 (0.02%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 31816431 31823477 7046 (0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1489581 1489252 -329 (-0.02%) 5.22%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80208821 80192754 -16067 (-0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2409453 2408988 -465 (-0.02%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 32002992 32006937 3945 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 32105952 32109897 3945 (0.01%) 0.20%
handshake_session_id_1.3_no_crypto_client 2361660 2361390 -270 (-0.01%) 0.20%
handshake_no_resume_1.2_no_crypto_client 62073 62066 -7 (-0.01%) 0.48%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1487139 1486993 -146 (-0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 31701852 31704829 2977 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 31824042 31827019 2977 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 50111064 50115691 4627 (0.01%) 0.45%
handshake_session_id_ring_1.2_rsa_aes_client 3511142 3511412 270 (0.01%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_client 3898568 3898838 270 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 30529727 30527623 -2104 (-0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 30621407 30619303 -2104 (-0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 30655189 30657279 2090 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 30727429 30729519 2090 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 41673108 41675779 2671 (0.01%) 0.30%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 57838038 57841695 3657 (0.01%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 57774324 57770712 -3612 (-0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 57920818 57924398 3580 (0.01%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 57772794 57769298 -3496 (-0.01%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 57772805 57769309 -3496 (-0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 57917053 57913555 -3498 (-0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 57917062 57913564 -3498 (-0.01%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 57651572 57648096 -3476 (-0.01%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 45859222 45861884 2662 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3273475 3273653 178 (0.01%) 0.25%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 32001074 31999370 -1704 (-0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 32104124 32102420 -1704 (-0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 43072090 43070211 -1879 (-0.00%) 0.32%
transfer_no_resume_ring_1.3_rsa_chacha_client 92299764 92296152 -3612 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92380978 92384558 3580 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92298874 92295378 -3496 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92298885 92295389 -3496 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92377213 92373715 -3498 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92377222 92373724 -3498 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 45957514 45955794 -1720 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 45860189 45861663 1474 (0.00%) 0.20%
transfer_no_resume_1.3_no_crypto_client 116935685 116932189 -3496 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_server 45861357 45862636 1279 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1685731 1685692 -39 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 10928806 10929050 244 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11090374 11090131 -243 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_server 11084618 11084377 -241 (-0.00%) 0.20%
transfer_no_resume_1.2_no_crypto_client 116890702 116888333 -2369 (-0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2175713 2175671 -42 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80095709 80097183 1474 (0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80096022 80097404 1382 (0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80096237 80097516 1279 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 2625129 2625088 -41 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7185052 7184974 -78 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7187004 7186926 -78 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 30748299 30748027 -272 (-0.00%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_client 30676059 30675817 -242 (-0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 30623217 30622977 -240 (-0.00%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3944357 3944387 30 (0.00%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 30531537 30531327 -210 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1238220 1238228 8 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2300972 2300985 13 (0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3800708 3800687 -21 (-0.00%) 0.35%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3272460 3272476 16 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2306626 2306637 11 (0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 30640275 30640147 -128 (-0.00%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 30712485 30712377 -108 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 45764076 45763981 -95 (-0.00%) 0.20%
transfer_no_resume_1.2_no_crypto_server 104828244 104828438 194 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 34712864 34712819 -45 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 34714583 34714538 -45 (-0.00%) 0.20%
transfer_no_resume_1.3_no_crypto_server 104867977 104867908 -69 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1237051 1237051 0 (0.00%) 0.20%

Wall-time

Significant differences

There are no significant wall-time differences

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_1.2_no_crypto 77.63 µs 75.04 µs -2.59 µs (-3.34%) 12.25%
handshake_no_resume_1.3_no_crypto 85.38 µs 82.99 µs -2.39 µs (-2.80%) 11.66%
handshake_tickets_1.3_no_crypto 683.07 µs 700.82 µs 17.75 µs (2.60%) 4.66%
handshake_session_id_1.2_no_crypto 378.61 µs 370.00 µs -8.61 µs (-2.27%) 7.27%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.87 ms 4.79 ms -0.08 ms (-1.61%) 5.86%
handshake_session_id_1.3_no_crypto 715.13 µs 725.81 µs 10.68 µs (1.49%) 3.19%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.51 ms 5.43 ms -0.08 ms (-1.49%) 4.45%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.56 ms 5.49 ms -0.08 ms (-1.36%) 5.16%
handshake_tickets_1.2_no_crypto 410.75 µs 405.33 µs -5.42 µs (-1.32%) 4.96%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.33 ms 5.26 ms -0.07 ms (-1.31%) 4.03%
transfer_no_resume_ring_1.2_rsa_aes 6.07 ms 5.99 ms -0.08 ms (-1.27%) 4.42%
transfer_no_resume_ring_1.3_ecdsap256_aes 5.67 ms 5.61 ms -0.07 ms (-1.20%) 4.56%
transfer_no_resume_ring_1.3_rsa_aes 6.16 ms 6.10 ms -0.06 ms (-1.05%) 4.36%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 541.11 µs 535.95 µs -5.16 µs (-0.95%) 2.70%
handshake_tickets_ring_1.3_rsa_chacha 5.99 ms 6.05 ms 0.05 ms (0.87%) 1.09%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 541.98 µs 537.58 µs -4.40 µs (-0.81%) 3.91%
transfer_no_resume_1.2_no_crypto 12.04 ms 11.94 ms -0.10 ms (-0.81%) 2.47%
handshake_session_id_ring_1.3_rsa_aes 5.99 ms 6.04 ms 0.05 ms (0.80%) 1.10%
handshake_tickets_ring_1.3_rsa_aes 6.03 ms 6.08 ms 0.05 ms (0.79%) 1.21%
transfer_no_resume_ring_1.3_ecdsap384_aes 8.77 ms 8.70 ms -0.07 ms (-0.78%) 2.99%
handshake_session_id_ring_1.3_ecdsap256_chacha 5.46 ms 5.50 ms 0.04 ms (0.78%) 1.00%
handshake_session_id_ring_1.2_rsa_aes 1.45 ms 1.44 ms -0.01 ms (-0.74%) 1.37%
handshake_session_id_ring_1.3_ecdsap256_aes 5.49 ms 5.53 ms 0.04 ms (0.73%) 1.00%
handshake_tickets_ring_1.3_ecdsap256_chacha 5.51 ms 5.54 ms 0.04 ms (0.72%) 1.01%
handshake_session_id_ring_1.3_rsa_chacha 5.96 ms 6.00 ms 0.04 ms (0.72%) 1.05%
transfer_no_resume_1.3_no_crypto 12.07 ms 11.99 ms -0.09 ms (-0.71%) 2.47%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 7.61 ms 7.56 ms -0.05 ms (-0.67%) 1.56%
handshake_tickets_ring_1.3_ecdsap256_aes 5.54 ms 5.57 ms 0.04 ms (0.67%) 1.10%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 8.26 ms 8.21 ms -0.05 ms (-0.62%) 1.33%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 14.00 ms 13.91 ms -0.09 ms (-0.61%) 1.71%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 13.36 ms 13.28 ms -0.08 ms (-0.59%) 1.78%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 8.29 ms 8.25 ms -0.05 ms (-0.57%) 1.31%
transfer_no_resume_ring_1.3_ecdsap256_chacha 13.25 ms 13.18 ms -0.08 ms (-0.57%) 1.87%
handshake_no_resume_ring_1.3_ecdsap256_chacha 458.84 µs 456.29 µs -2.55 µs (-0.56%) 2.74%
transfer_no_resume_ring_1.3_rsa_chacha 13.75 ms 13.67 ms -0.08 ms (-0.56%) 1.92%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 14.05 ms 13.97 ms -0.08 ms (-0.55%) 1.77%
handshake_session_id_ring_1.3_ecdsap384_chacha 8.55 ms 8.59 ms 0.04 ms (0.52%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_chacha 8.60 ms 8.64 ms 0.04 ms (0.52%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_aes 8.57 ms 8.62 ms 0.04 ms (0.50%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_aes 8.63 ms 8.67 ms 0.04 ms (0.49%) 1.00%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 1.82 ms 1.81 ms -0.01 ms (-0.45%) 3.03%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.34 ms 16.27 ms -0.07 ms (-0.43%) 1.50%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.18 ms 1.17 ms -0.00 ms (-0.41%) 1.55%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.18 ms 1.17 ms -0.00 ms (-0.39%) 2.14%
handshake_no_resume_ring_1.3_ecdsap256_aes 459.60 µs 457.80 µs -1.80 µs (-0.39%) 3.19%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.05 ms 1.05 ms -0.00 ms (-0.39%) 1.66%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 8.04 ms 8.02 ms -0.03 ms (-0.32%) 1.33%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 7.39 ms 7.37 ms -0.02 ms (-0.30%) 1.49%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 7.61 ms 7.59 ms -0.02 ms (-0.30%) 1.32%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 8.26 ms 8.23 ms -0.02 ms (-0.28%) 1.44%
handshake_no_resume_ring_1.2_rsa_aes 941.88 µs 939.82 µs -2.06 µs (-0.22%) 1.20%
handshake_tickets_ring_1.2_rsa_aes 1.54 ms 1.54 ms -0.00 ms (-0.21%) 1.92%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 8.06 ms 8.05 ms -0.02 ms (-0.21%) 1.57%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 8.29 ms 8.28 ms -0.01 ms (-0.18%) 1.51%
handshake_no_resume_ring_1.3_rsa_aes 949.42 µs 947.85 µs -1.56 µs (-0.16%) 1.34%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 8.06 ms 8.05 ms -0.01 ms (-0.16%) 1.49%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.64 ms 1.64 ms -0.00 ms (-0.14%) 1.93%
handshake_no_resume_ring_1.3_rsa_chacha 951.77 µs 950.43 µs -1.34 µs (-0.14%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.55 ms 3.55 ms -0.00 ms (-0.09%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.23 ms 1.23 ms -0.00 ms (-0.09%) 1.48%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 7.40 ms 7.39 ms -0.01 ms (-0.09%) 1.60%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.22 ms 1.22 ms -0.00 ms (-0.08%) 1.00%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 8.07 ms 8.08 ms 0.00 ms (0.02%) 1.44%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.55 ms 3.55 ms -0.00 ms (-0.01%) 1.00%

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_aws_lc_rs_1.3_rsa_aes_server ⚠️ (0.29%) 0.10%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server ⚠️ (0.26%) 0.10%
handshake_no_resume_1.2_no_crypto_client ⚠️ (0.24%) 0.10%
handshake_no_resume_1.3_no_crypto_client ⚠️ (0.24%) 0.10%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client ⚠️ (0.21%) 0.10%
handshake_no_resume_ring_1.3_ecdsap256_aes_client ⚠️ (0.21%) 0.10%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client ⚠️ (0.21%) 0.10%
handshake_no_resume_ring_1.3_ecdsap384_aes_client ⚠️ (0.21%) 0.10%
handshake_session_id_1.2_no_crypto_client ⚠️ (0.20%) 0.10%
handshake_no_resume_1.2_no_crypto_server ⚠️ (0.20%) 0.10%
handshake_no_resume_1.3_no_crypto_server ⚠️ (0.20%) 0.10%
handshake_no_resume_ring_1.2_rsa_aes_client ⚠️ (0.20%) 0.10%
handshake_tickets_1.2_no_crypto_client ⚠️ (0.20%) 0.10%
handshake_no_resume_ring_1.3_rsa_aes_client ⚠️ (0.19%) 0.10%
handshake_no_resume_ring_1.3_rsa_chacha_client ⚠️ (0.19%) 0.10%
handshake_session_id_1.3_no_crypto_client ⚠️ (0.19%) 0.10%
handshake_tickets_1.3_no_crypto_client ⚠️ (0.19%) 0.10%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server ✅ (-0.19%) 0.10%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server ✅ (-0.19%) 0.10%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server ✅ (-0.18%) 0.10%
handshake_tickets_1.2_no_crypto_server ⚠️ (0.18%) 0.10%
handshake_tickets_1.3_no_crypto_server ⚠️ (0.18%) 0.10%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server ⚠️ (0.18%) 0.10%
handshake_no_resume_ring_1.3_ecdsap256_aes_server ⚠️ (0.17%) 0.10%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server ⚠️ (0.17%) 0.10%
handshake_no_resume_ring_1.3_ecdsap384_aes_server ⚠️ (0.17%) 0.10%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server ✅ (-0.17%) 0.10%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server ✅ (-0.17%) 0.10%
handshake_session_id_ring_1.3_ecdsap256_aes_client ⚠️ (0.16%) 0.10%
handshake_session_id_ring_1.3_ecdsap256_chacha_client ⚠️ (0.16%) 0.10%
handshake_session_id_1.2_no_crypto_server ⚠️ (0.16%) 0.10%
handshake_tickets_ring_1.3_ecdsap256_aes_client ⚠️ (0.16%) 0.10%
handshake_session_id_ring_1.3_ecdsap384_chacha_client ⚠️ (0.16%) 0.10%
handshake_session_id_ring_1.3_ecdsap384_aes_client ⚠️ (0.16%) 0.10%
handshake_tickets_ring_1.3_ecdsap256_chacha_client ⚠️ (0.16%) 0.10%
handshake_tickets_ring_1.3_ecdsap384_aes_client ⚠️ (0.16%) 0.10%
handshake_tickets_ring_1.3_ecdsap384_chacha_client ⚠️ (0.16%) 0.10%
handshake_session_id_ring_1.2_rsa_aes_client ⚠️ (0.16%) 0.10%
handshake_session_id_1.3_no_crypto_server ⚠️ (0.16%) 0.10%
handshake_tickets_ring_1.2_rsa_aes_client ⚠️ (0.16%) 0.10%
handshake_tickets_ring_1.3_ecdsap256_aes_server ⚠️ (0.16%) 0.10%
handshake_no_resume_ring_1.2_rsa_aes_server ⚠️ (0.15%) 0.10%
handshake_tickets_ring_1.3_ecdsap384_aes_server ⚠️ (0.15%) 0.10%
handshake_tickets_ring_1.3_ecdsap384_chacha_server ⚠️ (0.15%) 0.10%
handshake_no_resume_ring_1.3_rsa_aes_server ⚠️ (0.15%) 0.10%
handshake_no_resume_ring_1.3_rsa_chacha_server ⚠️ (0.15%) 0.10%
handshake_tickets_ring_1.3_ecdsap256_chacha_server ⚠️ (0.15%) 0.10%
handshake_session_id_ring_1.3_rsa_aes_client ⚠️ (0.15%) 0.10%
handshake_session_id_ring_1.3_rsa_chacha_client ⚠️ (0.15%) 0.10%
handshake_tickets_ring_1.3_rsa_aes_client ⚠️ (0.14%) 0.10%
handshake_tickets_ring_1.3_rsa_chacha_client ⚠️ (0.14%) 0.10%
handshake_tickets_ring_1.2_rsa_aes_server ⚠️ (0.14%) 0.10%
handshake_session_id_ring_1.3_ecdsap256_chacha_server ⚠️ (0.14%) 0.10%
handshake_session_id_ring_1.3_ecdsap256_aes_server ⚠️ (0.14%) 0.10%
handshake_session_id_ring_1.3_ecdsap384_chacha_server ⚠️ (0.14%) 0.10%
handshake_session_id_ring_1.3_ecdsap384_aes_server ⚠️ (0.14%) 0.10%
handshake_tickets_ring_1.3_rsa_aes_server ⚠️ (0.13%) 0.10%
handshake_tickets_ring_1.3_rsa_chacha_server ⚠️ (0.13%) 0.10%
handshake_session_id_ring_1.2_rsa_aes_server ⚠️ (0.13%) 0.10%
handshake_session_id_ring_1.3_rsa_aes_server ⚠️ (0.12%) 0.10%
handshake_session_id_ring_1.3_rsa_chacha_server ⚠️ (0.12%) 0.10%

Additional information

Historical results

Checkout details:

@codecov
Copy link

codecov bot commented Nov 10, 2025

Codecov Report

❌ Patch coverage is 86.25000% with 11 lines in your changes missing coverage. Please review.
✅ Project coverage is 94.93%. Comparing base (db01b03) to head (dc23854).
⚠️ Report is 7 commits behind head on main.

Files with missing lines Patch % Lines
rustls/src/server/tls12.rs 68.75% 3 Missing and 2 partials ⚠️
rustls/src/crypto/ring/mod.rs 50.00% 4 Missing ⚠️
rustls/src/crypto/aws_lc_rs/mod.rs 87.50% 1 Missing ⚠️
rustls/src/server/tls13.rs 91.66% 0 Missing and 1 partial ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2754      +/-   ##
==========================================
- Coverage   94.96%   94.93%   -0.03%     
==========================================
  Files          98       98              
  Lines       22047    22017      -30     
  Branches      632      635       +3     
==========================================
- Hits        20936    20902      -34     
- Misses        974      975       +1     
- Partials      137      140       +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.

@djc djc force-pushed the ticketer-api branch 2 times, most recently from cb2d1d8 to 4ce73ff Compare November 10, 2025 16:04
@djc djc added this pull request to the merge queue Nov 11, 2025
Merged via the queue into main with commit 0106771 Nov 11, 2025
39 of 40 checks passed
@djc djc deleted the ticketer-api branch November 11, 2025 11:39
@djc djc mentioned this pull request Nov 11, 2025
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.

Feature request: a way to set/get default ticketer dynamically

3 participants