Please consider implementing TechEmpower Benchmarks
TechEmpower will do a good job showcasing the library's performance and overhead, compared to plain Netty.
I'd be happy to contribute them, but since I've only just began using the library, I suspect maintainer-created benchmarks will be better.
Cheers!
Thanks @guaporocco for the suggestion.
We are definitely interested in knowing how ServiceTalk fares as compared to other libraries but the work is low on our priority list and realistically it is unlikely that we will get to it anytime soon.
If you would like to contribute the benchmarks to techempower, we can review them for you. That will help you and techempower team gain confidence in the benchmarks.
I am not sure whether you have seen but we have some documentation around how to approach performance tests in ServiceTalk. Here is the link to that doc for your reference:
https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html
FYI
There is a PR for the benchmark (not by ServiceTalk team) here:
https://github.com/TechEmpower/FrameworkBenchmarks/pull/5270
@arthur-techempower @nbrady-techempower
I would need some time to get legal approval to comment on your PR https://github.com/TechEmpower/FrameworkBenchmarks/pull/5270 but I would suggest going through this document on ServiceTalk performance:
https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html
Specifically, these sections:
- Tuning options: https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html#tuning-options-and-recommendations
- Disable default offloading: https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html#ExecutionStrategy
- IO Thread pool sizing: https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html#io-thread-pool-sizing
- Auto-payload draining: https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html#http-service-auto-payload-draining
- Disable header validation: https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html#http-header-validation
- Disable
AsyncContext: https://apple.github.io/servicetalk/servicetalk/SNAPSHOT/performance.html#asynccontext
These features are enabled by default in ServiceTalk but are not ideal for specialized benchmarking as is the case with TechEmpower benchmarks.