Prashant Jaikumar
024a864209
Added kokoro config to run grpc_basictests_cpp_ios as part of presubmit
5 years ago
Lidi Zheng
a0ba0b1ff2
Change format
5 years ago
Karthik Ravi Shankar
fcb43f9dee
Regenerate projects
5 years ago
Lidi Zheng
f20171f28b
Found another breakage
5 years ago
Lidi Zheng
3eb376c911
Make py3 syntax check happy
5 years ago
Arjun Roy
b437dc0c68
Reduce instruction count for CH2 metadata ops.
...
1) Statically pre-compute static slice indices to save some ALU ops when linking
batched metadata.
2) Change some asserts to debug_asserts since they can provably not be triggered
with the current implementation.
3) Save some slice comparison cycles inside CH2 parsing.
5 years ago
Jan Tattermusch
0d6eec8b8f
a few fixes for run_performance_tests.py flame graph generators
5 years ago
Tony Lu
f4ff1a12d0
Whitelisted build_bazel_rules_apple
5 years ago
Arjun Roy
557446a11e
Added specializations for grpc_mdelem_create.
...
In several cases, we create grpc mdelem structures using known-static
metadata inputs. Furthermore, in several cases we create a slice on
the heap (e.g. grpc_slice_from_copied_buffer) where we know we are
transferring refcount ownership. In several cases, then, we can:
1) Avoid unnecessary ref/unref operations that are no-ops (for static
slices) or superfluous (if we're transferring ownership).
2) Avoid unnecessarily comprehensive calls to grpc_slice_eq (since
they'd only be called with static or interned slice arguments,
which by construction would have equal refcounts if they were
in fact equal.
3) Avoid unnecessary checks to see if a slice is interned (when we
know that they are).
To avoid polluting the internal API, we introduce the notion of
strongly-typed grpc_slice objects. We draw a distinction between
Internal (interned and static-storage) slices and Extern (inline and
non-statically allocated). We introduce overloads to
grpc_mdelem_create() and grpc_mdelem_from_slices() for the fastpath
cases identified above based on these slice types.
From the programmer's point of view, though, nothing changes - they
need only use grpc_mdelem_create() and grpc_mdelem_from_slices() as
before, and the appropriate fastpath will be picked based on type
inference. If no special knowledge exists for the slice type (i.e. we
pass in generic grpc_slice objects), the slowpath method will still
always return correct behaviour.
This is good for:
- Roughly 1-3% reduction in CPU time for several unary/streaming
ping pong fullstack microbenchmarks.
- Reduction of about 15-20% in CPU time for some hpack parser
microbenchmarks.
- 10-12% reduction of CPU time for metadata microbenchmarks involving
interned slice comparisons.
5 years ago
Jan Tattermusch
6b86d4706b
yapf code
5 years ago
Jan Tattermusch
f0b53e1f1b
set C# major version to 2, adjust expand_version.py
5 years ago
Nicolas "Pixel" Noble
d38178a27d
Few fixes to the gen_upb_api.sh script.
5 years ago
Prashant Jaikumar
232725b99a
Add C++ Cronet end2end tests
5 years ago
Esun Kim
e45c5f021b
Add check_upb_output to sanity test
5 years ago
Tony Lu
f9d9fbd36b
Only include src/objective-c/examples/RemoteTestClient/.. stubs
...
Reverting other files & removing redundant spaces
5 years ago
Tony Lu
f00dd31ace
Upgrade Cocoapods to the second latest version
...
Reverting build_one_sample
5 years ago
Mark D. Roth
db3d8be647
Add MetadataInterface abstraction to LB policy API.
5 years ago
Esun Kim
44de9634f6
Update third_party/upb to the latest
5 years ago
Esun Kim
e6d58923df
Add a detection of missing file in filegroup.uses
5 years ago
Esun Kim
7e367da22a
Added more protos to upb
5 years ago
Tony Lu
6b99f47bbf
Try modifying kokoro job because Sample's default FRAMEWORK is set to
...
YES now
5 years ago
Esun Kim
ded9f46c06
Refactored BUILD file to isolate cronet rules
5 years ago
Qiancheng Zhao
29480c4f6b
add client idle filter
5 years ago
Nicolas "Pixel" Noble
a4608cb373
Properly using upb's upstream.
5 years ago
Alexander Polcyn
6898c23a5d
Add experimental control plane creds C-core API
5 years ago
Prashant Jaikumar
91d865fa54
Create new build config for ASAN on Mac OS
...
Workaround ASAN build issues on Mac OS.
Disable LSAN as it's not supported by the version of clang that ships with Mac OS.
5 years ago
Yunjia Wang
c6bc2b1875
Add threadpool benchmark and build files
5 years ago
Jan Tattermusch
5625006c00
regenerate doxygen
5 years ago
Nicolas "Pixel" Noble
c4481f5538
Trying out my upb change.
5 years ago
Prashant Jaikumar
c6993a3841
Run cfstream_test under ASAN and TSAN
5 years ago
Lidi Zheng
dbec6006a6
Fix the entry condition of Bazel hack
5 years ago
Arjun Roy
b1d73a01f1
Removed duplicate static table from hpack table. Removed an or instruction for
...
every usage of static grpc metadata. Inlined hpack table lookups for static
metadata.
This leads to faster hpack parser creation:
BM_HpackParserInitDestroy 5.32µs ± 1% 0.06µs ± 1% -98.91% (p=0.000 n=18+19)
And slightly faster parsing:
BM_HpackParserParseHeader<RepresentativeClientInitialMetadata, OnInitialHeader>
456ns ± 1% 435ns ± 1% -4.74% (p=0.000 n=18+19)
BM_HpackParserParseHeader<MoreRepresentativeClientInitialMetadata,
OnInitialHeader>
1.06µs ± 2% 1.04µs ± 2% -1.82% (p=0.000 n=19+20)
It also yields a slight (0.5 - 1.0 microsecond) reduction in CPU time for
fullstack unary pingpong:
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/512
[polls/iter:3.0001 ] 23.9µs ± 2%
23.0µs ± 1% -3.63% (p=0.002 n=6+6)
BM_UnaryPingPong<TCP, NoOpMutator, NoOpMutator>/0/32768
[polls/iter:3.00015 ] 35.1µs ± 1%
34.2µs ± 1% -2.57% (p=0.036 n=5+3)
BM_UnaryPingPong<MinTCP, NoOpMutator, NoOpMutator>/8/0
[polls/iter:3.00011 ] 21.7µs ± 3%
21.2µs ± 2% -2.44% (p=0.017 n=6+5)
5 years ago
Jan Tattermusch
c556a02024
add per-rpc interop tests to managed grpc-dotnet client
5 years ago
Richard Belleville
ba761f77c5
Yapf. Pylint. Long-form birth certificate.
5 years ago
Richard Belleville
a0d9ec81a5
Add a sanity check for the Python release process.
...
This fixes https://github.com/grpc/grpc/issues/19632 .
5 years ago
Alexander Polcyn
3958a53bf7
Address review comments; fix sanity
5 years ago
Alexander Polcyn
4999420c7d
Add a test client for certain grpclb fallback scenarios
5 years ago
Esun Kim
bd5ed4fddd
Move compiler targets from /BUILD to /src/compiler/BUILD
5 years ago
Esun Kim
c01477360f
Add v1.22.0 to interop_matrix
5 years ago
Julien Boeuf
109edca971
Adding C++ API and implementation for STS credentials:
...
- marked as experimental.
- also changed the name of a field in the options struct.
5 years ago
Nicolas "Pixel" Noble
170beff648
Upgrading absl submodule, in the hope this will make Windows RBE work.
5 years ago
Nicolas "Pixel" Noble
de9c1e8f9c
Upgrading Bazel Windows RBE to 0.26 too.
5 years ago
Jan Tattermusch
af8c8a88e3
Delete the exited container after running python bazel_deps.sh
5 years ago
Doug Fawley
1b7ff376d8
Add v1.22.0 releases of grpc-go to interop matrix
6 years ago
Esun Kim
1399d06276
Regenerate projects
6 years ago
Moiz Haidry
bf994e48d9
Move grpc async, callback and sync implementation to grpc_impl namespace
6 years ago
Yunjia Wang
410451c126
Add threadpool implementation
6 years ago
Moiz Haidry
1c354e7c1f
Move grpc async, callback and sync implementation to grpc_impl namespace
6 years ago
Arjun Roy
d527c1fbda
Pre-compute static metadata index for hpack_encoder.
...
Originally, hpack_encoder would check if a metadata was static or not by
comparing its pointer to the known static metadata global table and checking if
it was within bounds. This check was performed regardless of if the metadata was
static or not, and is somewhat costly.
Instead, we now pre-compute the static metadata index during code generation
time, and store it with static metadata objects. We read that value only if we
are dealing with a static metadata flag (which we know from the storage type of
the grpc_mdelem).
This yields slightly faster metadata encoding:
BM_HpackEncoderEncodeHeader<EmptyBatch>/0/16384
[framing_bytes/iter:9 header_bytes/iter:0 ] 34.9ns ± 2%
34.2ns ± 1% -2.04% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<EmptyBatch>/1/16384
[framing_bytes/iter:9 header_bytes/iter:0 ] 34.9ns ± 2%
34.2ns ± 1% -2.01% (p=0.000 n=20+19)
BM_HpackEncoderEncodeHeader<SingleStaticElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.6ns ± 0%
49.2ns ± 2% -2.74% (p=0.000 n=18+20)
BM_HpackEncoderEncodeHeader<SingleInternedKeyElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:6 ] 84.7ns ± 1%
83.5ns ± 1% -1.43% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.4ns ± 0%
47.9ns ± 0% -4.83% (p=0.000 n=18+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 51.1ns ± 2%
48.9ns ± 1% -4.32% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.8ns ± 2%
48.8ns ± 2% -3.88% (p=0.000 n=19+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.2ns ± 1%
47.9ns ± 0% -4.47% (p=0.000 n=19+16)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.2ns ± 0%
47.9ns ± 0% -4.46% (p=0.000 n=18+16)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.2ns ± 0%
47.9ns ± 0% -4.40% (p=0.000 n=19+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.7ns ± 2%
48.8ns ± 2% -3.81% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.9ns ± 2%
48.8ns ± 2% -4.05% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.1ns ± 0%
48.0ns ± 1% -4.27% (p=0.000 n=17+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<31, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.1ns ± 0%
48.0ns ± 1% -4.28% (p=0.000 n=18+17)
BM_HpackEncoderEncodeHeader<SingleInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.1ns ± 0%
48.0ns ± 0% -4.33% (p=0.000 n=18+17)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/16384
[framing_bytes/iter:9 header_bytes/iter:9 ] 91.4ns ± 1%
90.7ns ± 1% -0.79% (p=0.000 n=18+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12 ] 116ns ± 1%
116ns ± 1% -0.46% (p=0.002 n=20+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14 ] 122ns ± 0%
121ns ± 0% -0.69% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:23 ] 144ns ± 1%
144ns ± 0% -0.23% (p=0.009 n=20+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<31, false>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:46 ] 232ns ± 0%
232ns ± 1% -0.26% (p=0.021 n=18+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<1, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:12 ] 92.9ns ± 1%
92.0ns ± 1% -0.97% (p=0.000 n=19+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<3, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:14 ] 94.0ns ± 1%
92.6ns ± 1% -1.45% (p=0.000 n=20+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<10, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:21 ] 93.9ns ± 2%
92.8ns ± 1% -1.17% (p=0.001 n=20+19)
BM_HpackEncoderEncodeHeader<SingleNonInternedBinaryElem<100, true>>/0/16384
[framing_bytes/iter:9 header_bytes/iter:111 ] 106ns ± 0%
105ns ± 3% -1.15% (p=0.000 n=18+20)
BM_HpackEncoderEncodeHeader<SingleNonInternedElem>/0/1
[framing_bytes/iter:81 header_bytes/iter:9 ] 355ns ± 1%
354ns ± 0% -0.35% (p=0.015 n=19+20)
BM_HpackEncoderEncodeHeader<RepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:8.00002 ] 139ns ± 1%
133ns ± 1% -4.46% (p=0.000 n=19+20)
BM_HpackEncoderEncodeHeader<MoreRepresentativeClientInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:16 ] 236ns ± 1%
231ns ± 1% -2.24% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<RepresentativeServerInitialMetadata>/0/16384
[framing_bytes/iter:9 header_bytes/iter:3 ] 73.6ns ± 1%
70.5ns ± 1% -4.14% (p=0.000 n=20+20)
BM_HpackEncoderEncodeHeader<RepresentativeServerTrailingMetadata>/1/16384
[framing_bytes/iter:9 header_bytes/iter:1 ] 50.5ns ± 0%
49.2ns ± 2% -2.60% (p=0.000 n=16+20)
6 years ago
Juanli Shen
4c96998eb1
Fix typo
6 years ago