Commit 141eed5
committed
core: change Metadata internals to avoid garbage creation
Before:
Benchmark (headerCount) Mode Cnt Score Error Units
InboundHeadersBenchmark.defaultHeaders_clientHandler N/A avgt 10 240.879 ± 4.903 ns/op
InboundHeadersBenchmark.defaultHeaders_serverHandler N/A avgt 10 882.354 ± 16.177 ns/op
InboundHeadersBenchmark.grpcHeaders_clientHandler N/A avgt 10 208.068 ± 5.380 ns/op
InboundHeadersBenchmark.grpcHeaders_serverHandler N/A avgt 10 477.604 ± 8.200 ns/op
OutboundHeadersBenchmark.convertClientHeaders 1 sample 234233 125.232 ± 11.903 ns/op
OutboundHeadersBenchmark.convertClientHeaders 5 sample 344367 264.343 ± 18.318 ns/op
OutboundHeadersBenchmark.convertClientHeaders 10 sample 392273 439.640 ± 2.589 ns/op
OutboundHeadersBenchmark.convertClientHeaders 20 sample 221506 855.115 ± 38.899 ns/op
OutboundHeadersBenchmark.convertServerHeaders 1 sample 253676 111.941 ± 2.742 ns/op
OutboundHeadersBenchmark.convertServerHeaders 5 sample 368499 248.255 ± 2.601 ns/op
OutboundHeadersBenchmark.convertServerHeaders 10 sample 390015 439.651 ± 11.040 ns/op
OutboundHeadersBenchmark.convertServerHeaders 20 sample 221807 840.435 ± 21.667 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 1 sample 230139 432.866 ± 25.503 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 5 sample 226901 765.095 ± 19.969 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 10 sample 260495 1268.239 ± 21.850 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 20 sample 311526 2059.973 ± 23.503 ns/op
After:
Benchmark (headerCount) Mode Cnt Score Error Units
InboundHeadersBenchmark.defaultHeaders_clientHandler N/A avgt 10 104.317 ± 1.973 ns/op
InboundHeadersBenchmark.defaultHeaders_serverHandler N/A avgt 10 395.666 ± 11.056 ns/op
InboundHeadersBenchmark.grpcHeaders_clientHandler N/A avgt 10 64.147 ± 4.076 ns/op
InboundHeadersBenchmark.grpcHeaders_serverHandler N/A avgt 10 228.299 ± 2.874 ns/op
OutboundHeadersBenchmark.convertClientHeaders 1 sample 252451 102.718 ± 2.714 ns/op
OutboundHeadersBenchmark.convertClientHeaders 5 sample 239976 225.812 ± 38.824 ns/op
OutboundHeadersBenchmark.convertClientHeaders 10 sample 258119 364.475 ± 57.217 ns/op
OutboundHeadersBenchmark.convertClientHeaders 20 sample 260138 676.950 ± 36.243 ns/op
OutboundHeadersBenchmark.convertServerHeaders 1 sample 276064 105.371 ± 1.859 ns/op
OutboundHeadersBenchmark.convertServerHeaders 5 sample 255128 190.970 ± 16.475 ns/op
OutboundHeadersBenchmark.convertServerHeaders 10 sample 272923 366.769 ± 28.204 ns/op
OutboundHeadersBenchmark.convertServerHeaders 20 sample 264797 641.961 ± 18.879 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 1 sample 226078 425.262 ± 3.481 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 5 sample 253606 675.488 ± 26.001 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 10 sample 286556 1157.014 ± 12.923 ns/op
OutboundHeadersBenchmark.encodeClientHeaders 20 sample 345649 1874.806 ± 36.227 ns/op1 parent 16c07ba commit 141eed5
File tree
8 files changed
+401
-325
lines changed- core/src
- main/java/io/grpc
- internal
- test/java/io/grpc
- internal
- netty/src/main/java/io/grpc/netty
- okhttp/src/main/java/io/grpc/okhttp
- testing/src/main/java/io/grpc/internal/testing
8 files changed
+401
-325
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
71 | 71 | | |
72 | 72 | | |
73 | 73 | | |
| 74 | + | |
74 | 75 | | |
75 | 76 | | |
76 | 77 | | |
77 | 78 | | |
78 | 79 | | |
79 | 80 | | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
80 | 97 | | |
0 commit comments