Skip to content
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

perf: more efficient header processing #120

Closed
mattklein123 opened this issue Oct 5, 2016 · 2 comments
Closed

perf: more efficient header processing #120

mattklein123 opened this issue Oct 5, 2016 · 2 comments

Comments

@mattklein123
Copy link
Member

As part of recent profiling comparison with nginx:

Right now how Envoy handles headers is extremely inefficient. We use a list, along with std::string, and generally iterate over the entire list for remove operations, etc.

Move to a more efficient implementation that:

  • Looks at each header on receive and store direct pointer into the list if Envoy will ever use it (via hash lookup). All add/remove/modify operations become O(1).
  • Move away from std::string, implement explicit short string optimization, with sentinel for common headers.
@mattklein123
Copy link
Member Author

#209

@mattklein123
Copy link
Member Author

fixed

lizan pushed a commit to lizan/envoy that referenced this issue Nov 11, 2019
…nvoyproxy#120)

Description: use http_parser in http inspector
Risk Level: Med
Testing: Unit test
Docs Changes: N/A
Release Notes: N/A

Signed-off-by: crazyxy <yxyan@google.com>
Signed-off-by: Piotr Sikora <piotrsikora@google.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant