Closed
Description
A few more small items for this perf pass before calling it good:
- Don't allocate PooledStreamEncoder (class can be merged into Router, not used anywhere else)
- Cache date string for date header every 500ms or so
- Store integer headers as integers also to avoid converting back and forth
- Optimize buffer callbacks
- Remove locking from libevent base
- 0 copy grpc encode
- Only do PNRG in runtime when needed
- stat flushing code
- Don't copy http/2 static headers when encoding
- remove fmt::format from dynamic stats in router
- remove copy from path match route action
- allocate "light" host when doing service discovery so we don't allocate full stat block which we never use.
-
std::vector<nghttp2_settings_entry> iv
in http2 codec can be a fixed array