Yash Tibrewal
64e7131a61
Add some TODOs
5 years ago
Yash Tibrewal
682c807f05
Remove chttp2 combiner and replace it with a simple mutex.
5 years ago
yang-g
4ba19b29f8
Clear thread local after use
6 years ago
Soheil Hassas Yeganeh
5f2bcfca73
Clarify what callback means.
6 years ago
Alexander Polcyn
1c56cda526
Add comment
6 years ago
Alex Polcyn
fd37378a52
Fix use after free
6 years ago
Yash Tibrewal
f1914fba00
Renaming remaining filter functions
6 years ago
Soheil Hassas Yeganeh
dd6e6e3ef7
Introduce GRPC_ARG_TSI_MAX_FRAME_SIZE channel arg.
...
Introduce GRPC_ARG_TSI_MAX_FRAME_SIZE so that users can use larger than
14KiB frame size if they need to.
6 years ago
Soheil Hassas Yeganeh
35e2760ffa
Add a fast path to allocate slices in the resource quota.
...
Currently, we are always scheduling a callback to run the allocation.
Instead, this patch adds a fastpath so that TCP can read the socket inline,
instead of waiting for the exec context to flush.
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/64/2 [polls/iter:12 ] 65.3µs ± 0% 64.7µs ± 1% -0.92% (p=0.032 n=4+5)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/2 [polls/iter:12.0002 ] 61.4µs ± 4% 57.3µs ±13% -6.66% (p=0.030 n=5+7)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/2 [polls/iter:12.0002 ] 61.7µs ± 1% 60.8µs ± 1% -1.49% (p=0.003 n=9+4)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/2 [polls/iter:12.0002 ] 114µs ± 2% 112µs ± 0% -2.09% (p=0.030 n=10+2)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/1/2 [polls/iter:12.0002 ] 62.9µs ± 0% 62.0µs ± 1% -1.32% (p=0.001 n=7+6)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/64/2 [polls/iter:12.0002 ] 66.5µs ± 3% 64.4µs ± 1% -3.20% (p=0.016 n=5+4)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/512/2 [polls/iter:12 ] 66.1µs ± 1% 65.2µs ± 1% -1.30% (p=0.003 n=8+5)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/4096/2 [polls/iter:12 ] 72.1µs ± 4% 70.8µs ± 1% -1.92% (p=0.004 n=9+5)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/2 [polls/iter:12.0001 ] 60.4µs ± 1% 59.4µs ± 0% -1.55% (p=0.004 n=6+5)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/8/2 [polls/iter:12 ] 63.6µs ± 1% 62.2µs ± 1% -2.13% (p=0.001 n=7+6)
BM_StreamingPingPongMsgs<TCP, NoOpMutator, NoOpMutator>/4096 [polls/iter:4.00008 ] 20.9µs ± 1% 19.8µs ±13% -5.30% (p=0.029 n=4+4)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/1 [polls/iter:8.00014 ] 44.4µs ± 1% 41.9µs ±13% -5.51% (p=0.010 n=6+4)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/2 [polls/iter:12.0001 ] 62.1µs ± 0% 61.1µs ± 1% -1.56% (p=0.036 n=3+5)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/2 [polls/iter:12.0002 ] 64.0µs ± 0% 63.3µs ± 0% -1.14% (p=0.004 n=5+6)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/2 [polls/iter:12 ] 62.0µs ± 1% 61.0µs ± 1% -1.61% (p=0.032 n=4+5)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/0/2 [polls/iter:12.0002 ] 62.4µs ± 4% 60.6µs ± 1% -2.82% (p=0.003 n=7+5)
BM_StreamingPingPongMsgs<TCP, NoOpMutator, NoOpMutator>/512 [polls/iter:4.00009 ] 17.9µs ± 1% 16.5µs ±11% -7.40% (p=0.032 n=4+5)
BM_StreamingPingPong<TCP, NoOpMutator, NoOpMutator>/4096/1 [polls/iter:8.00016 ] 50.2µs ± 0% 49.5µs ± 1% -1.46% (p=0.024 n=3+6)
BM_StreamingPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/2 [polls/iter:12.0002 ] 65.5µs ± 3% 61.9µs ±13% -5.59% (p=0.048 n=5+7)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/0 [polls/iter:3.00009 ] 23.4µs ± 2% 23.0µs ± 0% -1.88% (p=0.036 n=3+5)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/512/0 [polls/iter:3.0001 ] 25.6µs ± 2% 25.0µs ± 0% -2.44% (p=0.017 n=7+3)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/262144/0 [polls/iter:3.00022 ] 164µs ± 2% 161µs ± 1% -1.83% (p=0.048 n=3+6)
6 years ago
Mark D. Roth
01eeec72c6
Change RR to consider a subchannel in TF if it has failed since it was READY.
6 years ago
Yash Tibrewal
1b1364eb6b
Reviewer comments
6 years ago
Yash Tibrewal
6f5e358da7
Rename filter functions to be able to uniquely identify them
6 years ago
Esun Kim
cf444b9cab
Regenerate projects
6 years ago
Esun Kim
c965ca1494
Pull out configuration from ssl_utils
6 years ago
Soheil Hassas Yeganeh
4b2b00b35b
Optimize cycle to millis conversion by bypassing sub+add.
6 years ago
Soheil Hassas Yeganeh
7b84f81a8c
Add grpc_cycle_counter_to_millis().
6 years ago
Soheil Hassas Yeganeh
81a29ae1a6
Mark double-second local variables as const.
6 years ago
Soheil Hassas Yeganeh
c9376b4e0b
Use cycle clock instead of clock monotonic to measure call latency.
...
This removes two more getttime syscalls from the hot path, when cycle
clock is enabled.
6 years ago
Arjun Roy
c63f419c49
Mark CH2 on_initial_header error path unlikely.
...
Yields slightly better unary and streaming performance for TCP:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/4096
[polls/iter:3.00006 ] 27.1µs ± 2%
26.3µs ± 1% -2.77% (p=0.036 n=5+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/0
[polls/iter:3.00009 ] 21.7µs ± 2%
21.1µs ± 1% -2.88% (p=0.029 n=4+4)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/1
[polls/iter:3.00009 ] 21.8µs ± 2%
20.9µs ± 1% -4.32% (p=0.003 n=7+5)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/1
[polls/iter:3.00008 ] 22.0µs ± 1%
21.3µs ± 1% -3.15% (p=0.036 n=3+5)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/0
[polls/iter:3.00006 ] 22.0µs ± 1%
21.5µs ± 1% -2.19% (p=0.032 n=4+5)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/0
[polls/iter:3.00007 ] 34.7µs ± 1%
34.1µs ± 0% -1.72% (p=0.017 n=7+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/262144
[polls/iter:3.00023 ] 160µs ± 1%
158µs ± 1% -1.29% (p=0.016 n=8+4)
BM_UnaryPingPong<UDS, NoOpMutator, NoOpMutator>/0/0
[polls/iter:3.00012 ] 20.8µs ± 1%
20.4µs ± 0% -1.89% (p=0.029 n=4+4)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/0
[polls/iter:3.00008 ] 22.1µs ± 4%
21.3µs ± 0% -3.88% (p=0.004 n=6+5)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/0
[polls/iter:3.00008 ] 23.2µs ± 2%
22.5µs ± 3% -3.07% (p=0.014 n=7+6)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/512
[polls/iter:3.0001 ] 23.5µs ± 2%
22.9µs ± 0% -2.85% (p=0.010 n=6+4)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/1/0
[polls/iter:3.00008 ] 22.5µs ± 1%
21.7µs ± 1% -3.35% (p=0.036 n=3+5)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/32768/32768
[polls/iter:3.0001 ] 48.6µs ± 1%
48.3µs ± 1% -0.58% (p=0.045 n=5+8)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/8
[polls/iter:3.00008 ] 22.0µs ± 1%
21.5µs ± 1% -2.35% (p=0.016 n=4+5)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/8
[polls/iter:3.00006 ] 22.4µs ± 3%
21.4µs ± 1% -4.05% (p=0.017 n=7+3)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/0
[polls/iter:3.00007 ] 24.5µs ± 1%
23.9µs ± 1% -2.30%
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/1/1
[polls/iter:3.0001 ] 22.9µs ± 2%
22.4µs ± 3% -2.04% (p=0.048 n=7+5)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/8/8
[polls/iter:3.0001 ] 23.0µs ± 2%
22.4µs ± 1% -2.75% (p=0.012 n=7+4)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/64
[polls/iter:3.00008 ] 23.5µs ± 2%
23.1µs ± 0% -2.10% (p=0.002 n=8+5)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/64/0
[polls/iter:3.00008 ] 22.1µs ± 2%
21.5µs ± 1% -2.93% (p=0.009 n=9+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/0/64
[polls/iter:3.00008 ] 22.2µs ± 1%
21.4µs ± 1% -3.51% (p=0.003 n=4+9)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/512/0
[polls/iter:3.00008 ] 22.4µs ± 2%
21.8µs ± 1% -2.75% (p=0.009 n=5+6)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/0
[polls/iter:3.0001 ] 34.5µs ± 1%
34.0µs ± 1% -1.58%
But, slightly worse performance for in-proc (about 2-3%).
6 years ago
Arjun Roy
0b06676c9e
hpack encoder optimizations.
...
Removed some cycles and branches from hpack_enc for CH2.
Specifically:
1. Pushed certain metadata key/value length checks to
prepare_application_metadata() in src/core/lib/surface/call.cc.
This means that rather than check all key/val lengths for all metadata, we only
do so for custom added user metadata. Inside CH2, we change the length checks to
debug checks so we can catch if core/filter metadata fails to pass the check.
2. Changed various asserts to debug asserts when able.
3. Refactored some of the header emission code to remove duplicated code.
4. Un-inlined some logging methods.
This results in somewhat faster hpack_encoder performance:
BM_HpackEncoderInitDestroy
222ns ± 0% 221ns ± 0% -0.29% (p=0.000 n=34+34)
BM_HpackEncoderEncodeDeadline
[framing_bytes/iter:9 header_bytes/iter:6 ] 135ns ± 1%
124ns ± 0% -8.05% (p=0.000 n=39+38)
BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384
[framing_bytes/iter:9 header_bytes/iter:0 ] 34.2ns ± 0%
34.2ns ± 0% -0.01% (p=0.014 n=34+38)
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384
[framing_bytes/iter:9 header_bytes/iter:0 ] 34.2ns ± 0%
34.2ns ± 0% -0.04% (p=0.004 n=34+37)
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.5ns ± 0%
45.9ns ± 0% -3.28% (p=0.000 n=28+38)
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:6 ] 77.0ns ± 1%
68.3ns ± 1% -11.33% (p=0.000 n=39+40)
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 1%
45.5ns ± 0% -4.63% (p=0.000 n=39+33)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.2ns ± 0%
45.3ns ± 0% -3.96% (p=0.000 n=33+34)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.6ns ± 0% -4.54% (p=0.000 n=38+40)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.5ns ± 0% -4.63% (p=0.000 n=39+32)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 0%
45.6ns ± 1% -4.59% (p=0.000 n=38+39)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 0%
45.5ns ± 0% -4.64% (p=0.000 n=39+36)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.3ns ± 0%
45.3ns ± 0% -4.09% (p=0.000 n=38+36)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 1%
45.6ns ± 0% -4.71% (p=0.000 n=37+40)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.5ns ± 0% -4.66% (p=0.000 n=39+32)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.8ns ± 1%
45.6ns ± 1% -4.62% (p=0.000 n=37+39)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.7ns ± 0%
45.5ns ± 0% -4.67% (p=0.000 n=38+32)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:9 ] 80.5ns ± 1%
74.7ns ± 0% -7.16% (p=0.000 n=38+35)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12 ] 105ns ± 1%
99ns ± 0% -5.91% (p=0.000 n=38+34)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14 ] 111ns ± 1%
106ns ± 1% -4.86% (p=0.020 n=39+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:23 ] 135ns ± 0%
130ns ± 0% -3.45% (p=0.020 n=35+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:46 ] 225ns ± 1%
223ns ± 0% -0.91% (p=0.003 n=37+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:120 ] 467ns ± 0%
472ns ± 0% +1.09% (p=0.003 n=38+2)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12 ] 81.6ns ± 1%
74.8ns ± 0% -8.40% (p=0.000 n=37+33)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14 ] 82.0ns ± 1%
74.8ns ± 0% -8.80% (p=0.000 n=37+32)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:21 ] 82.1ns ± 1%
74.9ns ± 0% -8.86% (p=0.000 n=35+34)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:42 ] 97.6ns ± 2%
91.8ns ± 0% -5.95% (p=0.000 n=35+27)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:111 ] 97.2ns ± 1%
91.2ns ± 2% -6.19% (p=0.000 n=37+38)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1
[framing_bytes/iter:54 header_bytes/iter:9 ] 230ns ± 0%
221ns ± 0% -3.91% (p=0.000 n=38+37)
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:16 ] 206ns ± 2%
170ns ± 1% -17.51% (p=0.000 n=39+39)
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:3 ] 66.4ns ± 2%
62.5ns ± 1% -5.85% (p=0.000 n=34+39)
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 47.5ns ± 0%
45.9ns ± 1% -3.29% (p=0.000 n=26+38)
6 years ago
Mark D. Roth
e592414fae
Add check for input parameter being null.
6 years ago
Mark D. Roth
51d18ecc63
Convert mpscq API from C to C++.
6 years ago
Arjun Roy
ee603bf172
Better codegenfor validate_filtered_metadata.
...
validate_filtered_metadata() performs several checks to see if a call must be
failed. Failure is the unlikely case; to that end, failing branches are marked
unlikely, and the specific code handling failure cases is refactored into
explicitly un-inlined helper methods.
This will prevent us from unnecessarily clobbering registers and give us a
straight-line codepath for the success case.
Results:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/8/0
[polls/iter:3.00008 ] 22.5µs ± 0%
21.6µs ± 0% -4.02% (p=0.036 n=5+3)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/64/64
[polls/iter:3.00008 ] 23.4µs ± 1%
23.0µs ± 1% -1.63% (p=0.010 n=6+4)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/32768/0
[polls/iter:3.00007 ] 34.4µs ± 1%
34.1µs ± 0% -0.99% (p=0.024 n=6+3)
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/0/0
[polls/iter:0 ] 6.36µs ± 5%
6.16µs ± 2% -3.26% (p=0.013 n=20+19)
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/1/1
[polls/iter:0 ] 6.62µs ± 6%
6.50µs ± 4% -1.72% (p=0.049 n=20+20)
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/512/0
[polls/iter:0 ] 6.67µs ± 6%
6.59µs ± 2% -1.29% (p=0.047 n=20+19)
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/4096/0
[polls/iter:0 ] 7.68µs ± 1%
7.65µs ± 2% -0.46% (p=0.031 n=18+18)
BM_UnaryPingPong<InProcess, NoOpMutator, NoOpMutator>/0/262144
[polls/iter:0 ] 86.0µs ± 2%
85.3µs ± 2% -0.77% (p=0.046 n=19+19)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/0
[polls/iter:0 ] 6.28µs ± 5%
6.00µs ± 2% -4.37% (p=0.000 n=20+20)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/1/0
[polls/iter:0 ] 6.39µs ± 6%
6.20µs ± 2% -3.03% (p=0.001 n=20+19)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/1
[polls/iter:0 ] 6.36µs ± 6%
6.17µs ± 1% -3.00% (p=0.006 n=20+17)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/1/1
[polls/iter:0 ] 6.59µs ± 5%
6.30µs ± 2% -4.37% (p=0.000 n=20+19)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/8/0
[polls/iter:0 ] 6.37µs ± 5%
6.20µs ± 2% -2.76% (p=0.001 n=20+20)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/8
[polls/iter:0 ] 6.36µs ± 5%
6.17µs ± 2% -2.95% (p=0.001 n=20+19)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/8/8
[polls/iter:0 ] 6.45µs ± 7%
6.27µs ± 1% -2.72% (p=0.002 n=20+18)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/64/0
[polls/iter:0 ] 6.46µs ± 6%
6.31µs ± 1% -2.39% (p=0.001 n=20+20)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/512/0
[polls/iter:0 ] 6.62µs ± 6%
6.43µs ± 2% -2.92% (p=0.000 n=20+18)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/512
[polls/iter:0 ] 6.58µs ± 7%
6.41µs ± 1% -2.57% (p=0.002 n=20+17)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/512/512
[polls/iter:0 ] 6.88µs ± 7%
6.76µs ± 2% -1.81% (p=0.047 n=20+19)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/4096/0
[polls/iter:0 ] 7.57µs ± 3%
7.49µs ± 2% -0.99% (p=0.007 n=20+20)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/4096
[polls/iter:0 ] 7.66µs ± 5%
7.50µs ± 2% -2.15% (p=0.003 n=20+20)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/32768/0
[polls/iter:0 ] 15.8µs ± 2%
15.7µs ± 1% -0.75% (p=0.001 n=20+19)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:0 ] 16.1µs ± 2%
16.0µs ± 2% -0.84% (p=0.002 n=20+20)
BM_UnaryPingPong<MinInProcess, NoOpMutator, NoOpMutator>/32768/32768
[polls/iter:0 ] 25.5µs ± 1%
25.4µs ± 1% -0.42% (p=0.011 n=20+19)
BM_UnaryPingPong<InProcess, Client_AddMetadata<RandomBinaryMetadata<100>, 2>,
NoOpMutator>/0/0 [polls/iter:0 ]
7.99µs ± 5% 7.85µs ± 2% -1.81% (p=0.028 n=20+20)
BM_UnaryPingPong<InProcess, NoOpMutator,
Server_AddInitialMetadata<RandomBinaryMetadata<100>, 1>>/0/0 [polls/iter:0
] 7.07µs ± 6% 7.14µs ± 5% +0.95% (p=0.007
n=19+18)
BM_UnaryPingPong<InProcess, Client_AddMetadata<RandomAsciiMetadata<31>, 1>,
NoOpMutator>/0/0 [polls/iter:0 ]
6.95µs ± 5% 7.02µs ± 3% +0.94% (p=0.017 n=18+19)
BM_UnaryPingPong<InProcess, Client_AddMetadata<RandomAsciiMetadata<100>, 1>,
NoOpMutator>/0/0 [polls/iter:0 ]
7.10µs ± 2% 7.19µs ± 2% +1.31% (p=0.000 n=16+20)
BM_UnaryPingPong<InProcess, NoOpMutator,
Server_AddInitialMetadata<RandomAsciiMetadata<31>, 1>>/0/0 [polls/iter:0
] 6.89µs ± 2% 7.00µs ± 3% +1.61% (p=0.000
n=17+19)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/512/512
[polls/iter:3.00007 ] 24.1µs ± 1%
23.7µs ± 1% -1.77% (p=0.024 n=6+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/1/0
[polls/iter:3.00009 ] 21.5µs ± 1%
20.9µs ± 0% -2.78% (p=0.024 n=6+3)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/4096/0
[polls/iter:3.00005 ] 24.4µs ± 2%
23.9µs ± 2% -2.16% (p=0.020 n=9+4)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/32768/0
[polls/iter:3.0001 ] 35.3µs ± 1%
34.8µs ± 1% -1.45% (p=0.008 n=5+5)
BM_UnaryPingPong<MinSockPair, NoOpMutator, NoOpMutator>/0/0
[polls/iter:3.00008 ] 19.5µs ± 1%
19.1µs ± 1% -2.30% (p=0.016 n=4+5)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:3.0001 ] 35.4µs ± 1%
34.7µs ± 1% -1.77% (p=0.016 n=4+5)
6 years ago
Mark D. Roth
d3f50ace39
Use mutex instead of combiner in client channel data plane.
6 years ago
Yash Tibrewal
7315e75ce6
Add comments
6 years ago
Yash Tibrewal
3476df0b50
Add in ref to error
6 years ago
Yash Tibrewal
e6ffb2c3bb
Replace direct closure callback calls with GRPC_CLOSURE_SCHED
6 years ago
Esun Kim
a96cbbd592
Fix ubsan on InternNewStringLocked
6 years ago
Esun Kim
fa7bdff69f
Fix buffer-overflow in grpc_static_mdelem_for_static_strings
6 years ago
Alexander Polcyn
d1dae7d9d8
Log errors in ALTS handshaker message op completion cb
6 years ago
Alexander Polcyn
aa2a65faed
Remove call from queued picks when failing it due to channel destruction
6 years ago
Yash Tibrewal
156a4cccdf
Remove unusued arg
6 years ago
Arjun Roy
b46e3668d3
s/branch/tail_call/ for CH2 on_hdr().
...
on_hdr() checks if a void-return function pointer is null before jumping to it.
If it is null, it returns an error; else it executes that function and returns
success.
This change converts the void-returning function to one that returns a
grpc_error* and thus saves a branch in on_hdr() (since we're branching once by
following the function pointer anyways, we're effectively coalescing these two
branches).
6 years ago
Mark D. Roth
21c5424477
Add API for accessing per-call backend metric data in LB policies.
6 years ago
Mark D. Roth
c8430023a5
Apply health check service name changes to existing subchannels.
6 years ago
Arjun Roy
2767accc1b
Fixed init-order-fiasco for static slice table.
...
Fixes init-order bug affecting https://github.com/grpc/grpc/issues/19819 which
was first exposed by this commit:
857375a142
6 years ago
Mark D. Roth
18be57b4df
LB policy API changes suggested by Sanjay.
6 years ago
Esun Kim
2707fd0bd4
Added GRPC_USE_CPP_STD_LIB flag
6 years ago
Benjamin Peterson
57586a1ca7
Rename gettid() functions.
...
glibc 2.30 will declare its own gettid; see https://sourceware.org/git/?p=glibc.git;a=commit;h=1d0fc213824eaa2a8f8c4385daaa698ee8fb7c92 . Rename the grpc versions to avoid naming conflicts.
6 years ago
Arjun Roy
6e159d3ee3
Fix hpack parser fuzzer failure.
...
Fix crash when nullptr is passed to ManagedMemorySlice::Equals().
6 years ago
yang-g
3728329033
return unavailable on transport closed
6 years ago
Esun Kim
32f1119d2b
Strict C++
6 years ago
Juanli Shen
de6255941a
Fix gettid() naming conflict
6 years ago
Mark D. Roth
5d646ff9ff
Make Map<> copyable.
6 years ago
Prashant Jaikumar
41986e8ed8
Added test for timer wakeups
6 years ago
Hope Casey-Allen
257737f2c6
Fix warning in client_idle_filter.cc to support gcc8
6 years ago
Qiancheng Zhao
e45bea777e
use acquire instead of relaxed in IdleTimerCallback()
6 years ago
Juanli Shen
a802b14be6
Add xds resolver
6 years ago
Qiancheng Zhao
1391c93a95
atomic client idle filter
6 years ago
Juanli Shen
c1713800e0
Handle EDS response update in locality map
6 years ago