-
Notifications
You must be signed in to change notification settings - Fork 40.4k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Switch to Reactor Californium SNAPSHOTs
See gh-14507
- Loading branch information
Showing
3 changed files
with
3 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
1b7325d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@bclozel this is a bit offtopic, but there's a [performance test] for web frameworks(https://github.com/TechEmpower/FrameworkBenchmarks) where Vert.x application can handle 3-4x more throughput than a Webflux application with similar logic to access a PostgreSQL db using reactive-pg-client.
You can access the latest code for the Webflux app and some local test results in this PR.
Since the DAO layer is very similar in both applications, I was wondering if the delta might come from the way the two frameworks integrate with Netty? Or if webflux could be tuned with any missed configurations that I'm not aware of?
Actually, when I did a quick profiling on both applications, I found that there was a difference on how webflux integrates with Netty compared to Vert.x's solution. For some reason, the vertx solution seemed to use a bit less cpu time, too.
Since I'm not familiar with the internals of Webflux and netty, I'm wondering if there's any way to tune webflux further for better performance?
See latest test results for webflux here, though it's not including the latest improvements from the PR mentioned above.
Currently Vert.x ranks in the top 3 on the tests and I'd love to see Webflux to come closer to that, too.
1b7325d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This isn't really the right place to have this discussion, but if you're interested purely in performance, then WebFlux.Fn should be used rather than the annotation-based programming model.
This is a major problem, IMO, with benchmarks like this as they prioritise performance over everything else. Developer productivity, the complexity of the code you have to write and the likelihood of it containing bugs, etc, are all at least as important as raw throughput.
1b7325d
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Agreed, Spring delivers well on those things you mentioned. It also does a great job on abstracting away the complexity of integrating with tools like Netty.
If there was a way to also deliver on good performance while not sacrificing any of these other aspects, it would be really awesome.
Thanks for your tip on Webflux.Fn!