[http] Headermap Lazy map addition#12656
Conversation
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
|
Newly added benchmarks description:
Post-runtime configuration results:
The manyCountryRoutesLongHeaders benchmark results: Pre-runtime configuration results:
The manyCountryRoutesLongHeaders benchmark results: Summary:
|
|
@mattklein123 @jmarantz @antoniovicente, please take a look. |
jmarantz
left a comment
There was a problem hiding this comment.
flushing some comments; haven't looked at speed test yet
|
your country-code test is a good one. What do we get when we use a std::map for that? |
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
That was @antoniovicente's idea (and I agree it is a good test). Compared to @jmarantz Please let me know if you have any other ideas/questions. |
|
Memory consumption: The original implementation (and the lazy map too) reserves memory for the custom headers in each request/response. Here is a breakdown of the memory usage (no custom defined headers other than the default ones):
|
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
|
This pull request has been automatically marked as stale because it has not had activity in the last 7 days. It will be closed in 7 days if no further activity occurs. Please feel free to give a status update now, ping for review, or re-open when it's ready. Thank you for your contributions! |
jmarantz
left a comment
There was a problem hiding this comment.
It'd be great to get this in. What's the next step?
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
…the benchmarks Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Sorry, forgot to update this PR. |
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
mattklein123
left a comment
There was a problem hiding this comment.
Thanks this is great work. Just a few small comments. Very excited to see this land.
/wait
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
|
Thanks LGTM. Going to to mark this exempt from stale bot until we land this. |
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
|
Thanks for your patience. Can you merge main and then we can do a final pass on this and merge? /wait |
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
|
@mattklein123 latest main is now merged, PTAL. |
|
/retest |
|
Retrying Azure Pipelines, to retry CircleCI checks, use |
mattklein123
left a comment
There was a problem hiding this comment.
Thanks, fantastic work. Just 2 small comments. Thank you! @jmarantz any further comments?
/wait
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Signed-off-by: Adi Suissa-Peleg <adip@google.com>
Commit Message: Adding a lazy map to the current header-map implementation.
Additional Description: This is a continuation of #9261. Adding a map to headermap's HeaderList to access headers by key in O(1) instead of O(n).
In addition some benchmarks that emulate encoding and decoding of headers, and route matching by headers are added.
Risk Level: High - changes to headermap.
Testing: Added
RemoveIftest, and some perf tests.Docs Changes: Once the design is settled, I'll update the headermap doc
Release Notes: None.
Signed-off-by: Adi Suissa-Peleg adip@google.com