grpc-rs
grpc-rs copied to clipboard
reuse CallTag for streaming calls
This PR make CallTag reusable for streaming calls.
Task list:
- [x] PR for implementation
- [x] Benchmark result
cmd = run_performance_tests.py -l rust --regex="protobuf_async_streaming_qps_unconstrained"
patched:
"summary": {
"qps": 234351.00498567906,
"qpsPerServerCore": 29293.875623209882,
"serverSystemTime": 114.42147575010864,
"serverUserTime": 256.5736543796901,
"clientSystemTime": 107.05968081256268,
"clientUserTime": 261.4261360318102,
"latency50": 26100874.227000326,
"latency90": 42682913.54405692,
"latency95": 48302108.33178213,
"latency99": 59592629.7964869,
"latency999": 73441534.96942693,
"serverCpuUsage": 98.63780712017383,
"serverQueriesPerCpuSec": 63165.638530005344,
"clientQueriesPerCpuSec": 63598.37862759732
},
master:
"summary": {
"qps": 223173.67406802665,
"qpsPerServerCore": 27896.70925850333,
"serverSystemTime": 110.80008140794565,
"serverUserTime": 247.1210806457719,
"clientSystemTime": 103.7189808973478,
"clientUserTime": 288.99209207086545,
"latency50": 27239652.07925871,
"latency90": 45297378.5011097,
"latency95": 51277266.075107805,
"latency99": 64065653.403193906,
"latency999": 80688517.3868167,
"serverCpuUsage": 98.96864169693933,
"serverQueriesPerCpuSec": 62350.62384103099,
"clientQueriesPerCpuSec": 56828.97413134331
},