Skip to content

Conversation

@arjan-bal
Copy link
Contributor

Benchmarks

# Test command
$  go run benchmark/benchmain/main.go -benchtime=60s -workloads=unary \
   -compression=off -maxConcurrentCalls=200 -trace=off \
   -reqSizeBytes=100 -respSizeBytes=100 -networkMode=Local -resultFile="${RUN_NAME}"

$ go run benchmark/benchresult/main.go unary-before unary-after
               Title       Before        After Percentage
            TotalOps      7801951      7889246     1.12%
             SendOps            0            0      NaN%
             RecvOps            0            0      NaN%
            Bytes/op     10005.90      9911.48    -0.94%
           Allocs/op       146.91       143.91    -2.04%
             ReqT/op 104026013.33 105189946.67     1.12%
            RespT/op 104026013.33 105189946.67     1.12%
            50th-Lat   1.375183ms   1.360319ms    -1.08%
            90th-Lat   2.293816ms   2.249015ms    -1.95%
            99th-Lat   3.162307ms    3.13568ms    -0.84%
             Avg-Lat   1.536462ms   1.519465ms    -1.11%
           GoVersion     go1.24.8     go1.24.8
         GrpcVersion   1.77.0-dev   1.77.0-dev

RELEASE NOTES: N/A

@arjan-bal arjan-bal added this to the 1.77 Release milestone Oct 23, 2025
@arjan-bal arjan-bal added Type: Performance Performance improvements (CPU, network, memory, etc) Area: Transport Includes HTTP/2 client/server and HTTP server handler transports and advanced transport features. labels Oct 23, 2025
@codecov
Copy link

codecov bot commented Oct 23, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 81.98%. Comparing base (f448a97) to head (6117533).
⚠️ Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #8668   +/-   ##
=======================================
  Coverage   81.97%   81.98%           
=======================================
  Files         417      417           
  Lines       40788    40804   +16     
=======================================
+ Hits        33435    33452   +17     
+ Misses       5991     5966   -25     
- Partials     1362     1386   +24     
Files with missing lines Coverage Δ
internal/transport/http2_client.go 92.22% <100.00%> (+0.15%) ⬆️
internal/transport/transport.go 90.72% <100.00%> (ø)
preloader.go 63.63% <ø> (+5.30%) ⬆️
rpc_util.go 82.09% <100.00%> (ø)
stream.go 81.85% <100.00%> (+0.24%) ⬆️

... and 26 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

last mem.Buffer // Stores the remaining data in the previous calls.
err error
_ noCopy
clientStream *ClientStream // The client transport stream is closed with the given error and nil trailer metadata.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nit: the given error does not make sense anymore. So, this comment needs to be updated.

Comment on lines -506 to -508
closeStream: func(err error) {
s.Close(err)
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What heap allocation does this reduce?

@easwars easwars assigned arjan-bal and unassigned easwars Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: Transport Includes HTTP/2 client/server and HTTP server handler transports and advanced transport features. Type: Performance Performance improvements (CPU, network, memory, etc)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants