-
Notifications
You must be signed in to change notification settings - Fork 465
Reworking Headers impl #5396
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
base: main
Are you sure you want to change the base?
Reworking Headers impl #5396
Conversation
7f431f6 to
b94d316
Compare
CodSpeed Performance ReportMerging #5396 will improve performances by 42.29%Comparing Summary
Benchmarks breakdown
Footnotes
|
8191e31 to
7f84859
Compare
|
Internal tests are failing because the refactor changes the ordering of the headers in places... will need to see if we can preserve the order but first want to see if this has a positive impact on performance overall... waiting for benchmark results to be updated. |
21b09a3 to
b59e107
Compare
|
Marking as ready for review but there are still some internal test updates I'll need to do on the internal repo. |
7ac27f1 to
7c52fb0
Compare
|
Whenever this is done I want as many reviewers as we can get on this, incl Harris, Kenton, Mike, Yagiz, etc. |
0a4c8f0 to
7c52fb0
Compare
2e794b4 to
fb81688
Compare
|
Note for reviewers: while it likely is possible to get more performance gain with additional tweaks on this, the emphasis for review should be on correctness and ensuring that the revised implementation does not introduce new bugs, etc. We can tweak additional performance knobs separately in follow up PRs. |
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.
Only skimmed briefly but I think there's an opportunity for big gains here by taking advantage of the tables that are already available in HttpOverCapnpFactory.
38a2fab to
37b85f0
Compare
37b85f0 to
cd7bdc8
Compare
|
Further improved the revised implementation and added an additional benchmark.
|
cd7bdc8 to
95b9cbc
Compare
Bumping this |
95b9cbc to
30f6df6
Compare
218beea to
3e413f7
Compare
|
@fhanau ... any advice on the linting issues here? |
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
3e413f7 to
5be0630
Compare
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.
I wish this PR had been organized into a series of individual optimizations that could be considered separately. It looks like a whole lot of stuff was mixed into one PR, and it's unclear to me which optimizations are actually wins. I see some that I'd actually expect to be losses, or to have no effect (but aren't worth the code complexity).
The PR is separated into several commits, but aside from the first commit, they are not separated in a helpful way, with several commits totally changing what was introduced in previous commits.
Can you please squash all the commits EXCEPT FOR the first one, so I can at least see a clean diff from old Headers to new Headers?
Random comments below are from skimming around but I haven't been able to review deeply.
5be0630 to
c8c2182
Compare
This comment was marked as resolved.
This comment was marked as resolved.
In preparation to re-apply Headers performance improvements
77b6d78 to
e770ff6
Compare
b2cdb63 to
1e23169
Compare
Needs careful review. It does improve performance but the impl is a bit more complex. Fiddled around with a number of other perf tweaks but nothing that really moved the needle enough to justify the increased complexity. Not entirely sold on this impl so be brutal in reviews.