The GitHub Actions job "Validate and test" on pekko-grpc.git/main has succeeded.
Run started by GitHub user He-Pin (triggered by He-Pin).

Head commit for run:
0dabeb39291df116f814a8d5d623faa4d16440f9 / He-Pin(kerr) <[email protected]>
Optimize unary gRPC handler fast paths (#686)

* perf: optimize unary gRPC fast paths

Motivation:
The grpc_bench Scala Pekko server uses the Scala generated unary handler path. 
For strict unary requests and already-completed service futures, the old 
generated handler still went through Future flatMap/map/recoverWith scheduling 
and the apply path went through partial/orElse dispatch.

Modification:
Add a Scala unary handler helper that synchronously continues already-completed 
strict unmarshal and service futures, while preserving the asynchronous path 
for incomplete futures. Generate single-service Scala handlers through the 
direct handler path and use the unary helper for unary methods. Add a Scala 
unary handler JMH benchmark comparing the generated handler with the old-style 
Future chain. Keep the Java DSL strict unmarshal parity benchmark and allow JMH 
to run on JDKs where UseBiasedLocking is removed.

Result:
JDK 25 JMH with gc profiler: generatedUnaryStrictRequestProcessing 243,468 
ops/s and 2,088 B/op; oldStyleUnaryStrictRequestProcessing 83,123 ops/s and 
2,625 B/op. The generated strict unary path is 2.9x faster with about 20 
percent lower allocation in this focused benchmark.

* perf: reduce gRPC protobuf frame allocations

* refactor: inline Scala unary response handling

* perf: reduce unary success-path allocations

Report URL: https://github.com/apache/pekko-grpc/actions/runs/25957970149

With regards,
GitHub Actions via GitBox


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to