-
Notifications
You must be signed in to change notification settings - Fork 889
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cache lookups that yield a null HeaderDelegate #2180
Conversation
Oh darn... something happened with the line endings... |
54fe3cb
to
a7e83e4
Compare
Line endings fixed |
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.
@geoand thanks for the PR. This is the type of things that I like (performance optimizations ;-) ), but which also need some confirmation numbers in a benchmark. Do you have a plan for running comparisons? Otherwise I'll see if we can adapt one of the internal bench tests we have (based on WildFly)
@asoldano I did run some benchmarks with this in fact. It's basically a Quarkus application (see this PR) that is load tested with wrk. Before the patch I (well actually @Sanne was the first to report it) was seeing (from
I should note that this was the top allocation contributor in that benchmark. After the patch was applied allocation of Running the same type scenario using JFR I was seeing Also in my tests requests/sec didn't really change with this patch. |
@asoldano do you need any more benchmarking data for this? |
@asoldano the performance improvements of this are substantial - but as usual they will depend on circumstances. With the benchmark I'm working on, the dominating cost is allocations rate - and this addressed it directly so I can see a substantial improvement. Yet of course if you have a different benchmark which is not dominated by this cost, I guess you'll see only negligible / zero improvements. +1 to accept it please :) One thing I'm not sure of, as I don't know the lifecycle of this component, is if it's safe to store |
Thanks for reviewing @asoldano! |
This is meant to address part of quarkusio/quarkus#4345