Skip to content

Eliminate large copies in resumption code paths#2122

Merged
ctz merged 2 commits into
mainfrom
jbp-avoid-resumption-copies
Sep 26, 2024
Merged

Eliminate large copies in resumption code paths#2122
ctz merged 2 commits into
mainfrom
jbp-avoid-resumption-copies

Conversation

@ctz
Copy link
Copy Markdown
Member

@ctz ctz commented Sep 13, 2024

This fixes two large-ish copies in client resumption paths.

These were identified by:

  • expanding quite a lot of derive(Clone) into manual implementations,
  • making those log how much data they were cloning,
  • chasing down the instances which indicated large clones

@rustls-benchmarking
Copy link
Copy Markdown

rustls-benchmarking Bot commented Sep 13, 2024

Benchmark results

Instruction counts

Significant differences

⚠️ There are significant instruction count differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_tickets_aws_lc_rs_1.2_rsa_aes_client 4254329 4217479 -36850 (-0.87%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_client 3907851 3875185 -32666 (-0.84%) 0.20%
handshake_tickets_ring_1.2_rsa_aes_client 4535361 4498773 -36588 (-0.81%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_client 4270372 4238049 -32323 (-0.76%) 0.20%

Other differences

Click to expand
Scenario Baseline Candidate Diff Threshold
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_server 10784658 10841805 57147 (0.53%) 1.02%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_server 10838056 10802623 -35433 (-0.33%) 1.00%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 8583451 8610777 27326 (0.32%) 1.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 8583338 8603728 20390 (0.24%) 0.96%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_server 10442025 10465183 23158 (0.22%) 0.68%
handshake_no_resume_ring_1.3_ecdsap256_chacha_client 3631076 3635433 4357 (0.12%) 0.45%
handshake_tickets_ring_1.2_rsa_aes_server 4679097 4682967 3870 (0.08%) 0.20%
handshake_tickets_aws_lc_rs_1.2_rsa_aes_server 4999114 5002744 3630 (0.07%) 4.41%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 3097213 3095023 -2190 (-0.07%) 0.21%
handshake_no_resume_ring_1.3_ecdsap256_aes_client 3631682 3633877 2195 (0.06%) 0.42%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 3094779 3093076 -1703 (-0.06%) 0.25%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_server 32061118 32076363 15245 (0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_server 32057957 32073199 15242 (0.05%) 0.58%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_server 32110853 32126084 15231 (0.05%) 0.49%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_server 32114196 32129348 15152 (0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_server 32113953 32129049 15096 (0.05%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_server 32061554 32076468 14914 (0.05%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_server 34118184 34132195 14011 (0.04%) 0.46%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_server 34124224 34137997 13773 (0.04%) 0.61%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_server 34126957 34140709 13752 (0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_server 34121053 34134752 13699 (0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_server 34121208 34134786 13578 (0.04%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_server 34127108 34140677 13569 (0.04%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_server 43182653 43198242 15589 (0.04%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_server 43293203 43308792 15589 (0.04%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_server 43179820 43195339 15519 (0.04%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_server 43290370 43305889 15519 (0.04%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_server 43182783 43198259 15476 (0.04%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_server 43293333 43308809 15476 (0.04%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_chacha_server 43856836 43871117 14281 (0.03%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_server 43950346 43964627 14281 (0.03%) 0.20%
handshake_tickets_ring_1.3_rsa_chacha_server 43853649 43867764 14115 (0.03%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_server 43947159 43961274 14115 (0.03%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_server 43856989 43870996 14007 (0.03%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_server 43950499 43964506 14007 (0.03%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_client 58334586 58351020 16434 (0.03%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_client 58331913 58348218 16305 (0.03%) 0.20%
transfer_no_resume_ring_1.3_rsa_aes_client 58340327 58356602 16275 (0.03%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_client 58223756 58239129 15373 (0.03%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_client 68671578 68688405 16827 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes_client 30344626 30350650 6024 (0.02%) 0.57%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha_client 30308795 30314590 5795 (0.02%) 0.38%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha_client 30308565 30314271 5706 (0.02%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 1284863 1284623 -240 (-0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha_client 30323140 30328642 5502 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes_client 30344726 30350227 5501 (0.02%) 0.20%
handshake_session_id_aws_lc_rs_1.3_rsa_aes_client 30359177 30364658 5481 (0.02%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_client 92666741 92683185 16444 (0.02%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_client 92665991 92682300 16309 (0.02%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_client 92672495 92688762 16267 (0.02%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_chacha_client 41705783 41711344 5561 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap256_aes_client 41794493 41800054 5561 (0.01%) 0.20%
handshake_session_id_ring_1.3_rsa_chacha_client 41720042 41725522 5480 (0.01%) 0.20%
handshake_session_id_ring_1.3_rsa_aes_client 41808752 41814232 5480 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_chacha_client 41706324 41711749 5425 (0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_client 58243337 58250909 7572 (0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_client 58252963 58260525 7562 (0.01%) 0.20%
handshake_session_id_ring_1.3_ecdsap384_aes_client 41795034 41800459 5425 (0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_client 58252758 58260239 7481 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha_client 30758805 30762467 3662 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes_client 30724627 30728215 3588 (0.01%) 0.20%
handshake_session_id_aws_lc_rs_1.2_rsa_aes_server 3879393 3878943 -450 (-0.01%) 3.72%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha_client 30781570 30785010 3440 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 1282678 1282541 -137 (-0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_rsa_aes_client 30747534 30750798 3264 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_aes_server 1667270 1667094 -176 (-0.01%) 0.83%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes_client 30725053 30728216 3163 (0.01%) 0.41%
handshake_tickets_ring_1.3_rsa_chacha_client 42182848 42187133 4285 (0.01%) 0.20%
handshake_tickets_ring_1.3_rsa_aes_client 42256642 42260927 4285 (0.01%) 0.20%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha_client 30759197 30762314 3117 (0.01%) 0.56%
handshake_tickets_ring_1.3_ecdsap384_chacha_client 42168986 42173238 4252 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap384_aes_client 42242696 42246948 4252 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_chacha_client 42168480 42172722 4242 (0.01%) 0.20%
handshake_tickets_ring_1.3_ecdsap256_aes_client 42242274 42246516 4242 (0.01%) 0.20%
handshake_no_resume_ring_1.3_ecdsap256_chacha_server 1668610 1668470 -140 (-0.01%) 0.86%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_client 92714403 92721973 7570 (0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_client 92704782 92712347 7565 (0.01%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_client 92715488 92722950 7462 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 2172142 2171983 -159 (-0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha_client 1933719 1933823 104 (0.01%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes_client 1927013 1927102 89 (0.00%) 0.20%
handshake_session_id_ring_1.2_rsa_aes_server 4239160 4239010 -150 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 2168926 2168874 -52 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_server 7614635 7614475 -160 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_server 7612462 7612322 -140 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes_server 46441638 46440951 -687 (-0.00%) 0.34%
transfer_no_resume_ring_1.3_rsa_aes_server 46492892 46492212 -680 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes_server 46488064 46487387 -677 (-0.00%) 0.20%
transfer_no_resume_ring_1.2_rsa_aes_server 46396505 46395834 -671 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_aes_server 46476803 46476131 -672 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_aes_server 46477876 46477204 -672 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes_server 46462869 46462199 -670 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes_server 46485256 46485857 601 (0.00%) 0.24%
handshake_no_resume_ring_1.3_rsa_aes_server 11476628 11476485 -143 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_server 11482583 11482440 -143 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap384_chacha_server 80544649 80543969 -680 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_ecdsap256_chacha_server 80546355 80545675 -680 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha_server 80644633 80643953 -680 (-0.00%) 0.20%
transfer_no_resume_ring_1.3_rsa_chacha_server 80561371 80560694 -677 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha_server 80669827 80669150 -677 (-0.00%) 0.20%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha_server 80668289 80667618 -671 (-0.00%) 0.20%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes_client 1717581 1717594 13 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_aes_client 2657243 2657257 14 (0.00%) 0.20%
handshake_no_resume_ring_1.3_rsa_chacha_client 2663086 2663100 14 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_client 2563606 2563618 12 (0.00%) 0.20%
handshake_no_resume_ring_1.2_rsa_aes_server 11291853 11291902 49 (0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_chacha_client 35187028 35186906 -122 (-0.00%) 0.20%
handshake_no_resume_ring_1.3_ecdsap384_aes_client 35185093 35184998 -95 (-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
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_aes 4.44 ms 4.52 ms 0.07 ms (1.67%) 4.99%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_aes 5.16 ms 5.24 ms 0.08 ms (1.57%) 4.61%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 451.70 µs 458.50 µs 6.79 µs (1.50%) 3.42%
handshake_no_resume_aws_lc_rs_1.3_ecdsap256_aes 453.10 µs 459.77 µs 6.67 µs (1.47%) 2.75%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_chacha 4.90 ms 4.96 ms 0.07 ms (1.38%) 2.57%
handshake_tickets_aws_lc_rs_1.3_ecdsap256_aes 4.89 ms 4.95 ms 0.07 ms (1.34%) 2.65%
transfer_no_resume_aws_lc_rs_1.3_rsa_aes 5.38 ms 5.45 ms 0.07 ms (1.32%) 5.38%
handshake_tickets_aws_lc_rs_1.3_rsa_chacha 5.84 ms 5.91 ms 0.07 ms (1.21%) 2.35%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_chacha 5.61 ms 5.67 ms 0.07 ms (1.19%) 1.94%
transfer_no_resume_aws_lc_rs_1.2_rsa_aes 5.41 ms 5.47 ms 0.06 ms (1.17%) 5.25%
transfer_no_resume_ring_1.3_ecdsap256_aes 6.30 ms 6.37 ms 0.07 ms (1.12%) 4.15%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_chacha 4.56 ms 4.60 ms 0.05 ms (1.09%) 2.23%
handshake_tickets_aws_lc_rs_1.3_ecdsap384_aes 5.61 ms 5.67 ms 0.06 ms (1.05%) 2.02%
transfer_no_resume_ring_1.2_rsa_aes 6.71 ms 6.77 ms 0.07 ms (1.04%) 3.34%
handshake_tickets_aws_lc_rs_1.3_rsa_aes 5.83 ms 5.89 ms 0.06 ms (1.03%) 2.29%
transfer_no_resume_ring_1.3_rsa_aes 6.78 ms 6.85 ms 0.07 ms (1.00%) 3.75%
handshake_session_id_aws_lc_rs_1.3_rsa_chacha 5.50 ms 5.55 ms 0.05 ms (0.93%) 2.28%
handshake_no_resume_ring_1.3_ecdsap256_aes 500.11 µs 504.45 µs 4.33 µs (0.87%) 2.74%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_chacha 5.26 ms 5.31 ms 0.04 ms (0.81%) 1.85%
handshake_no_resume_aws_lc_rs_1.2_rsa_aes 1.35 ms 1.36 ms 0.01 ms (0.80%) 2.24%
handshake_no_resume_ring_1.3_ecdsap256_chacha 496.86 µs 500.76 µs 3.89 µs (0.78%) 2.60%
handshake_session_id_ring_1.2_rsa_aes 1.52 ms 1.51 ms -0.01 ms (-0.75%) 1.84%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 1.17 ms 1.18 ms 0.01 ms (0.71%) 1.66%
handshake_session_id_aws_lc_rs_1.3_ecdsap256_aes 4.58 ms 4.61 ms 0.03 ms (0.69%) 2.43%
handshake_no_resume_aws_lc_rs_1.3_rsa_chacha 1.37 ms 1.38 ms 0.01 ms (0.63%) 2.97%
transfer_no_resume_ring_1.3_ecdsap384_aes 9.40 ms 9.46 ms 0.06 ms (0.62%) 2.70%
handshake_session_id_aws_lc_rs_1.3_rsa_aes 5.53 ms 5.56 ms 0.03 ms (0.58%) 2.71%
handshake_tickets_ring_1.2_rsa_aes 1.60 ms 1.59 ms -0.01 ms (-0.56%) 1.95%
handshake_session_id_aws_lc_rs_1.3_ecdsap384_aes 5.29 ms 5.32 ms 0.03 ms (0.56%) 1.94%
transfer_no_resume_aws_lc_rs_1.3_ecdsap256_chacha 12.91 ms 12.98 ms 0.07 ms (0.53%) 1.83%
transfer_no_resume_ring_1.3_ecdsap256_chacha 12.94 ms 13.01 ms 0.07 ms (0.52%) 1.84%
handshake_no_resume_aws_lc_rs_1.3_rsa_aes 1.38 ms 1.39 ms 0.01 ms (0.51%) 2.10%
handshake_no_resume_aws_lc_rs_1.3_ecdsap384_aes 1.17 ms 1.18 ms 0.01 ms (0.51%) 1.33%
transfer_no_resume_aws_lc_rs_1.3_ecdsap384_chacha 13.64 ms 13.71 ms 0.07 ms (0.51%) 1.90%
handshake_session_id_aws_lc_rs_1.2_rsa_aes 1.90 ms 1.89 ms -0.01 ms (-0.47%) 2.51%
transfer_no_resume_ring_1.3_rsa_chacha 13.43 ms 13.49 ms 0.06 ms (0.47%) 1.91%
handshake_tickets_ring_1.3_ecdsap256_chacha 6.62 ms 6.65 ms 0.03 ms (0.47%) 1.33%
transfer_no_resume_aws_lc_rs_1.3_rsa_chacha 13.85 ms 13.92 ms 0.06 ms (0.46%) 1.96%
handshake_tickets_ring_1.3_ecdsap256_aes 6.67 ms 6.70 ms 0.03 ms (0.42%) 1.24%
handshake_tickets_ring_1.3_rsa_chacha 7.10 ms 7.13 ms 0.03 ms (0.40%) 1.42%
handshake_tickets_aws_lc_rs_1.2_rsa_aes 2.07 ms 2.06 ms -0.01 ms (-0.40%) 2.00%
handshake_tickets_ring_1.3_rsa_aes 7.16 ms 7.18 ms 0.03 ms (0.39%) 1.22%
handshake_no_resume_ring_1.2_rsa_aes 975.24 µs 978.94 µs 3.71 µs (0.38%) 1.25%
transfer_no_resume_ring_1.3_ecdsap384_chacha 16.04 ms 16.10 ms 0.06 ms (0.37%) 1.78%
handshake_session_id_ring_1.3_ecdsap256_chacha 6.51 ms 6.54 ms 0.02 ms (0.36%) 1.44%
handshake_session_id_ring_1.3_rsa_chacha 7.00 ms 7.02 ms 0.02 ms (0.35%) 1.06%
handshake_no_resume_ring_1.3_rsa_chacha 981.68 µs 984.78 µs 3.10 µs (0.32%) 1.00%
handshake_no_resume_ring_1.3_rsa_aes 981.44 µs 984.48 µs 3.04 µs (0.31%) 1.08%
handshake_session_id_ring_1.3_ecdsap256_aes 6.56 ms 6.58 ms 0.02 ms (0.30%) 1.75%
handshake_session_id_ring_1.3_rsa_aes 7.05 ms 7.07 ms 0.02 ms (0.29%) 1.35%
handshake_no_resume_ring_1.3_ecdsap384_aes 3.60 ms 3.59 ms -0.01 ms (-0.24%) 1.00%
handshake_no_resume_ring_1.3_ecdsap384_chacha 3.60 ms 3.59 ms -0.01 ms (-0.19%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_aes 9.77 ms 9.78 ms 0.01 ms (0.12%) 1.00%
handshake_tickets_ring_1.3_ecdsap384_chacha 9.71 ms 9.72 ms 0.01 ms (0.10%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_chacha 9.60 ms 9.61 ms 0.01 ms (0.10%) 1.00%
handshake_session_id_ring_1.3_ecdsap384_aes 9.65 ms 9.65 ms 0.00 ms (0.02%) 1.14%

Additional information

Historical results

Checkout details:

@codecov
Copy link
Copy Markdown

codecov Bot commented Sep 13, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 94.63%. Comparing base (659e876) to head (098520a).
Report is 20 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #2122   +/-   ##
=======================================
  Coverage   94.63%   94.63%           
=======================================
  Files         102      102           
  Lines       23412    23412           
=======================================
  Hits        22157    22157           
  Misses       1255     1255           

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

Copy link
Copy Markdown
Member

@cpu cpu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This changeset makes sense to me. Is there a reason to keep it draft?

use crate::msgs::handshake::SessionId;
use crate::msgs::persist::Tls13ClientSessionValue;
use crate::suites::SupportedCipherSuite;
use crate::msgs::base::PayloadU16;
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Worth a mention in the commit message to help motivate the choice of PayloadU16 vs Vec?

@ctz
Copy link
Copy Markdown
Member Author

ctz commented Sep 16, 2024

This changeset makes sense to me. Is there a reason to keep it draft?

I got very sidetracked with the ci-bench issue; will come back to this.

@ctz ctz force-pushed the jbp-avoid-resumption-copies branch from 076ffe9 to 3da14c0 Compare September 20, 2024 12:57
@ctz

This comment was marked as outdated.

2 similar comments
@ctz

This comment was marked as outdated.

@ctz

This comment was marked as outdated.

ctz added 2 commits September 26, 2024 14:10
This reduces the cost of ClientSessionCommon::clone, which is
inherent in every `ClientSessionStore` probe operation.
These can be large (hundreds of bytes),  and even larger
(thousands of bytes) if the server decides to include
the client's identity.

Parse them into an Arc, and then maintain that on
the path to the session store.
@ctz ctz force-pushed the jbp-avoid-resumption-copies branch from 3da14c0 to 098520a Compare September 26, 2024 13:18
@ctz ctz marked this pull request as ready for review September 26, 2024 13:22
@ctz ctz added this pull request to the merge queue Sep 26, 2024
Merged via the queue into main with commit 39455e1 Sep 26, 2024
@ctz ctz deleted the jbp-avoid-resumption-copies branch September 26, 2024 14:21
@ctz ctz added the performance_enhancement Pull requests that should improve performance label Oct 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

performance_enhancement Pull requests that should improve performance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants