8 Commits

Author SHA1 Message Date
778860e606 testing: update Go to 1.19 (#5717) 2022-10-17 15:04:34 -07:00
d9063e7af3 standardized experimental warnings (#3917) 2020-10-02 09:11:08 -07:00
6b9bf4296e Revert "profiling: add hooks within grpc (#3159)" (#3378)
This reverts commit 83263d17f75d76339f8e2d3b1d2d8364746349f3.
2020-02-14 07:56:46 -08:00
83263d17f7 profiling: add hooks within grpc (#3159) 2020-02-12 11:10:44 -08:00
8c50fc2565 revert buffer reuse (#3338)
* Revert "stream: fix returnBuffers race during retry (#3293)"

This reverts commit ede71d589cc36a6adff7244ce220516f0b3e446b.

* Revert "codec/proto: reuse of marshal byte buffers (#3167)"

This reverts commit 642675125e198ce612ea9caff4bf75d3a4a45667.
2020-01-27 13:30:41 -08:00
642675125e codec/proto: reuse of marshal byte buffers (#3167)
Performance benchmarks can be found below. Obviously, a 8 KiB
request/response is tailored to showcase this improvement as this is
where codec buffer reuse shines, but I've run other benchmarks too (like
1-byte requests and responses) and there's no discernable impact on
performance.

We do not allow reuse of buffers when stat handlers or binlogs are
turned on. This is because those two may need access to the data and
payload even after the data has been written to the wire. In such cases,
we never return the data back to the pool.

A buffer reuse threshold of 1 KiB was determined after several
experiments. There's diminished returns when buffer reuse is enabled for
smaller messages (actually, a negative impact).

unary-networkMode_none-bufConn_false-keepalive_false-benchTime_40s-trace_false-latency_0s-kbps_0-MTU_0-maxConcurrentCalls_6-reqSize_8192B-respSize_8192B-compressor_off-channelz_false-preloader_false
               Title       Before        After Percentage
            TotalOps       839638       906223     7.93%
             SendOps            0            0      NaN%
             RecvOps            0            0      NaN%
            Bytes/op    103788.29     80592.47   -22.35%
           Allocs/op       183.33       189.30     3.27%
             ReqT/op 1375662899.20 1484755763.20     7.93%
            RespT/op 1375662899.20 1484755763.20     7.93%
            50th-Lat    238.746µs    225.019µs    -5.75%
            90th-Lat    514.253µs    456.439µs   -11.24%
            99th-Lat    711.083µs    702.466µs    -1.21%
             Avg-Lat     285.45µs    264.456µs    -7.35%
2019-12-20 09:41:23 -08:00
4dfb34b0d4 Mark PreparedMsg as EXPERIMENTAL (#2783) 2019-04-22 13:07:07 -07:00
8260df7a61 grpc: implementation of PreparedMsg API
grpc: implementation of PreparedMsg API
2019-04-19 14:08:08 -07:00