Soheil Hassas Yeganeh
4b2b00b35b
Optimize cycle to millis conversion by bypassing sub+add.
5 years ago
Soheil Hassas Yeganeh
7b84f81a8c
Add grpc_cycle_counter_to_millis().
5 years ago
Soheil Hassas Yeganeh
81a29ae1a6
Mark double-second local variables as const.
5 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.
5 years ago
Muxi Yan
56acfb9f26
Thread safety fix
5 years ago
Arjun Roy
5a5dc3322c
Merge pull request #20185 from arjunroy/on_init_header_tweaks
...
Mark CH2 on_initial_header error path unlikely.
5 years ago
Arjun Roy
1e08bc2224
Merge pull request #20170 from arjunroy/hpack_encoder_tweaks_fixed
...
hpack encoder optimizations.
5 years ago
Esun Kim
51192bed0d
Merge pull request #20195 from veblush/fix-atsan
...
Revert using libc++ for asan & tsan
5 years ago
Mark D. Roth
38984cd85d
Merge pull request #20196 from markdroth/lb_policy_registry_config_parse_fix
...
Add check for input parameter being null.
5 years ago
Yash Tibrewal
6593168380
Merge branch 'master' into unusedarg
5 years ago
Yash Tibrewal
361a902262
Reviewer comments
5 years ago
Muxi Yan
f89e11d037
More Id -> ID
5 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%).
5 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)
5 years ago
rmstar
a9dbfb7c2f
Merge pull request #20028 from rmstar/ioscppe2e
...
Enable end2end C++ tests on iOS.
5 years ago
Lidi Zheng
7f49b9f162
Auto-generate the project
5 years ago
Lidi Zheng
67b2eff113
Also fix the compilation of 3.8
5 years ago
Lidi Zheng
f6445add1f
Move compile CPython 3.6 to a separate include file
5 years ago
Karthik Ravi Shankar
7ec1a9663d
Merge branch 'master' into move-method-handler
5 years ago
Mark D. Roth
e592414fae
Add check for input parameter being null.
5 years ago
Muxi Yan
9094826cf5
Polish interceptor/transport manager logic
5 years ago
Lidi Zheng
40d495a31b
Correct the checksum and download link
5 years ago
Lidi Zheng
3e2171ed61
Adopt reviewer's advice
5 years ago
Esun Kim
49d67b3531
Revert using libc++ for asan & tsan
5 years ago
Richard Belleville
3d4f905775
Merge pull request #20141 from gnossen/python_strip_prefixes
...
Add strip_prefix to python protoc plugin and py_grpc_library
5 years ago
Richard Belleville
900ea7fa79
Merge pull request #20180 from grpc/extra_docstring
...
Add docstring to py2and3_test
5 years ago
Nicolas Noble
0259b69610
Merge pull request #18149 from JoeWrightss/patch-1
...
Fix some misspells in interop test doc
5 years ago
hcaseyal
529b07949c
Merge pull request #20192 from grpc/revert-20165-windows_bazel_rbe_0_29
...
Revert "Upgrade to Bazel 0.29 (including Windows RBE)"
5 years ago
Esun Kim
7c75ed9cf4
Merge pull request #20171 from veblush/php-check
...
Trim trailing spaces from PHP config.m4
5 years ago
Jan Tattermusch
4e8ecb9fe6
Revert "Upgrade to Bazel 0.29 (including Windows RBE)"
5 years ago
Jan Tattermusch
d2f0e17d3a
Merge pull request #18697 from jtattermusch/csharp_improved_distribtest
...
Improved C# distribtests
5 years ago
Yash Tibrewal
97f1f57dab
Allow call credentials to be set even after the call is created but before initial metadata is sent
5 years ago
Muxi Yan
f1521d0693
Merge remote-tracking branch 'upstream/master' into revert-20103-revert-19704
5 years ago
Muxi Yan
04b3b8e921
Add default transport fallback
5 years ago
Esun Kim
e68ce1164b
Merge pull request #20182 from veblush/channelz-msan
...
Use libc++ for clang sanity test
5 years ago
Lidi Zheng
113b2f2225
Remove the ensurepip for Python 3.7
5 years ago
Lidi Zheng
6620a74b72
Run apt-get update before installing packages
5 years ago
Lidi Zheng
8b91cdbf6d
Add a default Dockerfile for Python testing
5 years ago
Vijay Pai
b7d69ad425
Merge pull request #20148 from bmzhao/fix-windows-base-ptr
...
Fix Windows's STACKFRAME Frame Addr in test_config.cc
5 years ago
Esun Kim
e6e5d2d531
Use libc++ for clang sanity test
5 years ago
Prashant Jaikumar
9f02fc7f91
Enable end2end C++ tests on iOS.
...
Some e2e tests were disabled on iOS because they hit the Apple CFStream bug.
This commit enables e2e tests and works around the Apple bug by disabling CFStream.
5 years ago
Richard Belleville
c11539f79e
Document kwargs
5 years ago
Lidi Zheng
04dd147b41
Add Python 3.6 to default gRPC Python test environments
5 years ago
Vijay Pai
4be0af6b2a
Merge pull request #20178 from vjpai/nopool
...
Don't start AuthMetadataProcessor threadpool for non-blocking processor
5 years ago
Richard Belleville
ecf7274aaa
Add docstring to py2and3_test
5 years ago
Vijay Pai
9bb1247bdb
Merge pull request #16327 from vjpai/keep_running
...
C++ microbenchmarks: update from KeepRunning to range-based for
5 years ago
Vijay Pai
8cd7f6445d
Merge pull request #20176 from vjpai/sslfix
...
Avoid duplicate initialization of SSL from within grpc and from test
5 years ago
Muxi Yan
63cd77c835
Fix transport manager shutdown queuing
5 years ago
Vijay Pai
7235091dc2
Don't start AuthMetadataProcessor threadpool for non-blocking processor
5 years ago
Mark D. Roth
51d18ecc63
Convert mpscq API from C to C++.
5 years ago