Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save carl-mastrangelo/2109879dc30cc161faba0892d660c183 to your computer and use it in GitHub Desktop.
Save carl-mastrangelo/2109879dc30cc161faba0892d660c183 to your computer and use it in GitHub Desktop.
Before
---------------------------------------------------------------------------------------------------------------------------
Benchmark Time CPU Iterations
---------------------------------------------------------------------------------------------------------------------------
BM_HpackEncoderInitDestroy 198 ns 198 ns 3535074
BM_HpackEncoderEncodeDeadline 129 ns 129 ns 5219422 framing_bytes/iter:9 header_bytes/iter:6
BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384 31 ns 31 ns 22189800 framing_bytes/iter:9 header_bytes/iter:0
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384 31 ns 31 ns 22162902 framing_bytes/iter:9 header_bytes/iter:0
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384 46 ns 46 ns 16421886 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384 72 ns 72 ns 9044956 framing_bytes/iter:9 header_bytes/iter:6
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384 43 ns 43 ns 16548097 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384 42 ns 42 ns 16370343 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384 42 ns 42 ns 16316262 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384 43 ns 43 ns 16385656 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384 43 ns 43 ns 16422662 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384 43 ns 43 ns 16406698 framing_bytes/iter:9 header_bytes/iter:1.00001
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384 43 ns 43 ns 16243637 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384 43 ns 43 ns 16285267 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384 43 ns 43 ns 16319838 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384 43 ns 43 ns 16344711 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384 43 ns 43 ns 16385435 framing_bytes/iter:9 header_bytes/iter:1.00001
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384 89 ns 89 ns 7384830 framing_bytes/iter:9 header_bytes/iter:9
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384 97 ns 97 ns 6806978 framing_bytes/iter:9 header_bytes/iter:12
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384 103 ns 103 ns 6395566 framing_bytes/iter:9 header_bytes/iter:14
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384 150 ns 150 ns 4643771 framing_bytes/iter:9 header_bytes/iter:23
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384 224 ns 224 ns 3127615 framing_bytes/iter:9 header_bytes/iter:46
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, false>>/0/16384 449 ns 449 ns 1333862 framing_bytes/iter:9 header_bytes/iter:117
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384 87 ns 87 ns 7591289 framing_bytes/iter:9 header_bytes/iter:12
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384 86 ns 86 ns 7273925 framing_bytes/iter:9 header_bytes/iter:14
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384 110 ns 110 ns 6002466 framing_bytes/iter:9 header_bytes/iter:21
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, true>>/0/16384 102 ns 102 ns 6343229 framing_bytes/iter:9 header_bytes/iter:42
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384 102 ns 102 ns 6484069 framing_bytes/iter:9 header_bytes/iter:111
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1 305 ns 305 ns 2289547 framing_bytes/iter:81 header_bytes/iter:9
BM_HpackEncoderEncodeHeader<RepresentativeClientInitialMetadata>/0/16384 108 ns 108 ns 6152378 framing_bytes/iter:9 header_bytes/iter:8.00003
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384 179 ns 179 ns 3775169 framing_bytes/iter:9 header_bytes/iter:16.0001
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384 59 ns 59 ns 11296065 framing_bytes/iter:9 header_bytes/iter:3.00001
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384 43 ns 43 ns 16380042 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackParserInitDestroy 2917 ns 2916 ns 236593
BM_HpackParserParseHeader<EmptyBatch, UnrefHeader> 8 ns 8 ns 84512976
BM_HpackParserParseHeader<IndexedSingleStaticElem, UnrefHeader> 18 ns 18 ns 38811389
BM_HpackParserParseHeader<AddIndexedSingleStaticElem, UnrefHeader> 107 ns 107 ns 5890613
BM_HpackParserParseHeader<KeyIndexedSingleStaticElem, UnrefHeader> 156 ns 156 ns 4333681
BM_HpackParserParseHeader<IndexedSingleInternedElem, UnrefHeader> 30 ns 30 ns 22562022
BM_HpackParserParseHeader<AddIndexedSingleInternedElem, UnrefHeader> 215 ns 215 ns 3199730
BM_HpackParserParseHeader<KeyIndexedSingleInternedElem, UnrefHeader> 166 ns 166 ns 4018865
BM_HpackParserParseHeader<NonIndexedElem, UnrefHeader> 155 ns 155 ns 4398565
BM_HpackParserParseHeader<NonIndexedBinaryElem<1, false>, UnrefHeader> 179 ns 179 ns 3823703
BM_HpackParserParseHeader<NonIndexedBinaryElem<3, false>, UnrefHeader> 200 ns 200 ns 3423032
BM_HpackParserParseHeader<NonIndexedBinaryElem<10, false>, UnrefHeader> 306 ns 306 ns 2287413
BM_HpackParserParseHeader<NonIndexedBinaryElem<31, false>, UnrefHeader> 680 ns 680 ns 944848
BM_HpackParserParseHeader<NonIndexedBinaryElem<100, false>, UnrefHeader> 1944 ns 1944 ns 357356
BM_HpackParserParseHeader<NonIndexedBinaryElem<1, true>, UnrefHeader> 154 ns 154 ns 4332908
BM_HpackParserParseHeader<NonIndexedBinaryElem<3, true>, UnrefHeader> 154 ns 154 ns 4378813
BM_HpackParserParseHeader<NonIndexedBinaryElem<10, true>, UnrefHeader> 154 ns 154 ns 4383044
BM_HpackParserParseHeader<NonIndexedBinaryElem<31, true>, UnrefHeader> 184 ns 184 ns 3714325
BM_HpackParserParseHeader<NonIndexedBinaryElem<100, true>, UnrefHeader> 185 ns 185 ns 3721036
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, UnrefHeader> 114 ns 114 ns 5849256
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata, UnrefHeader> 490 ns 490 ns 1277485
BM_HpackParserParseHeader<RepresentativeServerInitialMetadata, UnrefHeader> 38 ns 38 ns 18911197
BM_HpackParserParseHeader<RepresentativeServerTrailingMetadata, UnrefHeader> 37 ns 37 ns 18901129
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader> 452 ns 452 ns 1552499
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata, OnInitialHeader> 962 ns 962 ns 688655
BM_HpackParserParseHeader<RepresentativeServerInitialMetadata, OnInitialHeader> 164 ns 164 ns 4171344
BM_HpackParserParseHeader<SameDeadline, OnHeaderTimeout> 109 ns 109 ns 6125880
After
BM_HpackEncoderInitDestroy 197 ns 197 ns 3533994
BM_HpackEncoderEncodeDeadline 127 ns 127 ns 5334601 framing_bytes/iter:9 header_bytes/iter:6
BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384 31 ns 31 ns 22393290 framing_bytes/iter:9 header_bytes/iter:0
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384 31 ns 31 ns 22327175 framing_bytes/iter:9 header_bytes/iter:0
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384 42 ns 42 ns 16564792 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384 75 ns 75 ns 8867101 framing_bytes/iter:9 header_bytes/iter:6
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384 43 ns 43 ns 16369716 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384 42 ns 42 ns 16498662 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384 42 ns 42 ns 16523909 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384 42 ns 42 ns 16474212 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384 42 ns 42 ns 16466549 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384 42 ns 42 ns 16629579 framing_bytes/iter:9 header_bytes/iter:1.00001
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384 43 ns 43 ns 16445055 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384 42 ns 42 ns 16421252 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384 43 ns 43 ns 16445752 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384 42 ns 42 ns 16404358 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384 42 ns 42 ns 16391864 framing_bytes/iter:9 header_bytes/iter:1.00001
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384 89 ns 89 ns 7492777 framing_bytes/iter:9 header_bytes/iter:9
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384 98 ns 98 ns 6858506 framing_bytes/iter:9 header_bytes/iter:12
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384 103 ns 103 ns 6494738 framing_bytes/iter:9 header_bytes/iter:14
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384 151 ns 151 ns 4645355 framing_bytes/iter:9 header_bytes/iter:23
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384 223 ns 223 ns 3108251 framing_bytes/iter:9 header_bytes/iter:46
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, false>>/0/16384 444 ns 444 ns 1320185 framing_bytes/iter:9 header_bytes/iter:117
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384 87 ns 87 ns 7474212 framing_bytes/iter:9 header_bytes/iter:12
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384 87 ns 87 ns 7538776 framing_bytes/iter:9 header_bytes/iter:14
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384 109 ns 109 ns 6091004 framing_bytes/iter:9 header_bytes/iter:21
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, true>>/0/16384 101 ns 101 ns 6430920 framing_bytes/iter:9 header_bytes/iter:42
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384 101 ns 101 ns 6434639 framing_bytes/iter:9 header_bytes/iter:111
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1 306 ns 306 ns 2269770 framing_bytes/iter:81 header_bytes/iter:9
BM_HpackEncoderEncodeHeader<RepresentativeClientInitialMetadata>/0/16384 108 ns 108 ns 6222941 framing_bytes/iter:9 header_bytes/iter:8.00003
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384 179 ns 179 ns 3857104 framing_bytes/iter:9 header_bytes/iter:16.0001
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384 59 ns 59 ns 11326807 framing_bytes/iter:9 header_bytes/iter:3.00001
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384 42 ns 42 ns 16478709 framing_bytes/iter:9 header_bytes/iter:1
BM_HpackParserInitDestroy 2737 ns 2737 ns 254244
BM_HpackParserParseHeader<EmptyBatch, UnrefHeader> 7 ns 7 ns 88777889
BM_HpackParserParseHeader<IndexedSingleStaticElem, UnrefHeader> 17 ns 17 ns 39490033
BM_HpackParserParseHeader<AddIndexedSingleStaticElem, UnrefHeader> 105 ns 105 ns 6183097
BM_HpackParserParseHeader<KeyIndexedSingleStaticElem, UnrefHeader> 157 ns 157 ns 4283593
BM_HpackParserParseHeader<IndexedSingleInternedElem, UnrefHeader> 28 ns 28 ns 25010976
BM_HpackParserParseHeader<AddIndexedSingleInternedElem, UnrefHeader> 210 ns 210 ns 3260932
BM_HpackParserParseHeader<KeyIndexedSingleInternedElem, UnrefHeader> 167 ns 167 ns 4107327
BM_HpackParserParseHeader<NonIndexedElem, UnrefHeader> 152 ns 152 ns 4419911
BM_HpackParserParseHeader<NonIndexedBinaryElem<1, false>, UnrefHeader> 179 ns 179 ns 3846966
BM_HpackParserParseHeader<NonIndexedBinaryElem<3, false>, UnrefHeader> 202 ns 202 ns 3353360
BM_HpackParserParseHeader<NonIndexedBinaryElem<10, false>, UnrefHeader> 304 ns 304 ns 2291633
BM_HpackParserParseHeader<NonIndexedBinaryElem<31, false>, UnrefHeader> 691 ns 691 ns 965633
BM_HpackParserParseHeader<NonIndexedBinaryElem<100, false>, UnrefHeader> 2003 ns 2003 ns 337217
BM_HpackParserParseHeader<NonIndexedBinaryElem<1, true>, UnrefHeader> 155 ns 155 ns 4356058
BM_HpackParserParseHeader<NonIndexedBinaryElem<3, true>, UnrefHeader> 156 ns 156 ns 4389962
BM_HpackParserParseHeader<NonIndexedBinaryElem<10, true>, UnrefHeader> 156 ns 156 ns 4392921
BM_HpackParserParseHeader<NonIndexedBinaryElem<31, true>, UnrefHeader> 185 ns 185 ns 3676614
BM_HpackParserParseHeader<NonIndexedBinaryElem<100, true>, UnrefHeader> 186 ns 186 ns 3695379
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, UnrefHeader> 114 ns 114 ns 5790061
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata, UnrefHeader> 489 ns 489 ns 1236041
BM_HpackParserParseHeader<RepresentativeServerInitialMetadata, UnrefHeader> 37 ns 37 ns 19106723
BM_HpackParserParseHeader<RepresentativeServerTrailingMetadata, UnrefHeader> 37 ns 37 ns 18818482
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader> 455 ns 455 ns 1537251
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata, OnInitialHeader> 935 ns 935 ns 691905
BM_HpackParserParseHeader<RepresentativeServerInitialMetadata, OnInitialHeader> 164 ns 164 ns 4198017
BM_HpackParserParseHeader<SameDeadline, OnHeaderTimeout> 103 ns 103 ns 6394516
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment