How we got 10x performance in RSocket
summary
Claims a concrete path to speed RSocket - Java by replacing Reactor internals with custom Reactor operators and bespoke Mono/Publisher implementations, measured with microbenchmarks and flame graphs and GC profiling. Focus is on single-payload paths (fire-and-forget, request–response); rewrites reduce object allocations and GC pauses, yielding 10x overall, 30x on some hotspots. Work is implemented in a large PR (May–July), merged and validated by benchmark suites, so the change actually improves throughput and latency.
AI-written summary · about
chapters (14)
- 0:00Introduction
- 0:27Who this talk is for
- 2:10Speaker background
- 3:56Why care about performance
- 7:04Business vs infrastructure
- 8:47What is RSocket
- 13:20Initial RSocket implementation
- 17:55Performance improvement goal
- 21:27Performance analysis basics
- 26:21Types of optimizations
- 28:50Measuring performance
- 34:31Summary and key takeaways
- 35:15Further resources
- 36:18Q&A
related talks
47mRSocket + Spring
29mBuilding Reactive Systems with Reactor
49mReactive Spring
47mReactive Spring
56mReactive programming lessons learned
34mRetrofit Your Java App with a Reactive Flow Pipeline
01h 32mBuilding Reactive applications with Reactor and the Reactive Streams standard
55mHow to build Reactive Server in 50 minutes
