mgravell
47913c20ab
utf8-encode; fix broken test
5 years ago
mgravell
0628990feb
UTF8 decode: remove "unsafe" from a bunch of places that don't need it any more
5 years ago
mgravell
3ab3f5e586
move WellKnownStrings to top-level file; add tests; refactor
5 years ago
mgravell
9967e42a7f
review feedback; naming : Blob => ByteArray
5 years ago
mgravell
b352873461
UTF encode/native: use IntPtr, not byte*, in the native API (avoid "unsafe" declaration)
5 years ago
mgravell
b6e104f22f
make use of Encoding.GetString(byte*, int) when available; poly-fill when not available (NET45); move related logic to extension class
5 years ago
mgravell
e95f3297aa
don't allocate/copy a buffer in ReadMetadataFromPtrUnsafe unless we actually need to (move that logic to CreateUnsafe); implement well-known strings check (just "user-agent" at the moment)
5 years ago
mgravell
264fca1eb6
match delegate signature in benchmark
5 years ago
mgravell
a443b6bf95
Merge branch 'master' into mgravell/unsafe-encode
5 years ago
Jan Tattermusch
99e8298a61
Merge pull request #19515 from mgravell/mgravell/benchmarkdotnet
...
csharp convert micro-benchmarks to benchmarkdotnet
5 years ago
Jan Tattermusch
47287e8ed7
add license headers
5 years ago
Jan Tattermusch
3ba99a685e
make pingbenchmark compile
5 years ago
Jan Tattermusch
43240238d2
tweak iteration counts for multithreaded benchmarks
5 years ago
Jan Tattermusch
a56998bdff
fix small nits
5 years ago
mgravell
ffac31b108
incorrectly added
5 years ago
mgravell
dd5f19765e
add framework overhead "PingBenchmark"
5 years ago
mgravell
36c1a11d84
give useful names to benchmarks
5 years ago
mgravell
aa535356e8
fix encode benchmark (and simplify decode benchmark)
5 years ago
Soheil Hassas Yeganeh
d3316ad22e
Merge pull request #19522 from soheilhy/fix-host-split
...
Return empty strings on optional ports for backward compatibility.
5 years ago
Soheil Hassas Yeganeh
bf9b4c257b
Fix stale comment in split host port.
5 years ago
Yash Tibrewal
842a3dcd9d
Merge pull request #19516 from yashykt/inqcmsgsize
...
Increase the control message size
5 years ago
Soheil Hassas Yeganeh
01b82d3a39
Return empty strings on optional ports for backward compatibility.
...
gpr_split_host_port returns an empty string for the port
when given "0.0.0.0:" as the input.
Change the emptiness check to an explicit argument called has_port,
to remain backward compatible.
Added a test to cover both v4 and v6.
5 years ago
Yash Tibrewal
1487ac42cc
Remove CMSG_SPACE for macos
5 years ago
Yash Tibrewal
02ff96bd31
No need to allocate space for receive timestamp if errqueue is not present
5 years ago
Yash Tibrewal
a94e00dccf
Reviewer comments
5 years ago
Yash Tibrewal
7cb861ce29
Reviewer comments
5 years ago
Yash Tibrewal
f44e0c07a7
Reviewer comments
5 years ago
Soheil Hassas Yeganeh
39e982a263
Merge pull request #19488 from soheilhy/string-view2
...
Introduce string_view and use it for gpr_split_host_port
5 years ago
Yash Tibrewal
420d5413c7
Use the actual formula
5 years ago
rmstar
8ce8cfe4c3
Merge pull request #19439 from rmstar/enable_cfstream
...
Enable CFStream by default on iOS
5 years ago
Yash Tibrewal
464f558a45
Increase the control message size
5 years ago
mgravell
0a1147b58c
found another way to nop the native-call
5 years ago
Jan Tattermusch
6854789cdb
Merge pull request #19504 from jtattermusch/upport_v1_22_x
...
Upport changes from 1.22.x to master
5 years ago
mgravell
e4411e03e6
added by mistake
5 years ago
mgravell
f53d844da9
attempt to fix the utf-8 encode benchmark; not currently working
5 years ago
mgravell
dbef6c9c70
add utf-8 encode benchmark
5 years ago
mgravell
f5091b2622
add UTF8-decode benchmark
...
| Method | Job | Runtime | PayloadSize | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|------- |----- |-------- |------------ |-------------:|-----------:|-----------:|-------:|------:|------:|----------:|
| Run | Clr | Clr | 0 | 1.736 ns | 0.0101 ns | 0.0094 ns | - | - | - | - |
| Run | Core | Core | 0 | 1.306 ns | 0.0108 ns | 0.0095 ns | - | - | - | - |
| Run | Clr | Clr | 1 | 35.384 ns | 0.2282 ns | 0.2135 ns | 0.0101 | - | - | 64 B |
| Run | Core | Core | 1 | 32.388 ns | 0.3333 ns | 0.2955 ns | 0.0101 | - | - | 64 B |
| Run | Clr | Clr | 4 | 57.736 ns | 0.3889 ns | 0.3448 ns | 0.0114 | - | - | 72 B |
| Run | Core | Core | 4 | 52.878 ns | 0.2802 ns | 0.2621 ns | 0.0114 | - | - | 72 B |
| Run | Clr | Clr | 128 | 554.819 ns | 4.4341 ns | 4.1477 ns | 0.0830 | - | - | 530 B |
| Run | Core | Core | 128 | 336.356 ns | 1.6148 ns | 1.4315 ns | 0.0835 | - | - | 528 B |
| Run | Clr | Clr | 1024 | 4,050.850 ns | 28.9245 ns | 25.6408 ns | 0.6016 | - | - | 3820 B |
| Run | Core | Core | 1024 | 2,272.534 ns | 33.8963 ns | 31.7066 ns | 0.6016 | - | - | 3808 B |
5 years ago
mgravell
52de8a0a17
ShortRunJob *added* a test!
5 years ago
mgravell
05a0dd20e4
convert micro-benchmarks to benchmarkdotnet
5 years ago
Marc Gravell
cb813e1ffc
check the *actual* length to allow more stack usage *and* allow smaller pool rentals
5 years ago
Marc Gravell
74be06c80f
remove UTF8 byte[] allocations: decode directly into a string; encode using stack or array-pool
5 years ago
Arjun Roy
b6514a6438
Merge pull request #19487 from arjunroy/static_md_idx_v2
...
Pre-compute static metadata index for hpack_encoder.
5 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)
5 years ago
Arjun Roy
920bacf11d
Merge pull request #19498 from arjunroy/hpack_parser_on_hdr_v2
...
Codegen optimizations for hpack_parser on_hdr().
5 years ago
rmstar
ce282e7d7e
Merge pull request #19395 from rmstar/c++_on_ios
...
Fix C++ tests to run on iOS
5 years ago
Yang Gao
a0e76c0300
Merge pull request #19484 from yang-g/oauth
...
Update oauth2 token endpoints
5 years ago
Jan Tattermusch
8fe1abebbf
Merge pull request #19419 from mit-mit/bumpdart
...
Roll Dart to 2.3
5 years ago
Jan Tattermusch
0a43bd0008
Merge pull request #19503 from iamrare/patch-1
...
fix link in doc
5 years ago
Jan Tattermusch
3222a350e5
Merge remote-tracking branch 'upstream/v1.22.x' into HEAD
5 years ago
モハメド
743be2ba94
fix link
5 years ago