Google의 HTTP/2 코덱, Envoy 성능 15~25% 저하
Google's HTTP/2 codec slows Envoy

Envoy v1.34에서 기본 HTTP/2 코덱이 nghttp2에서 Google의 oghttp2로 바뀌면서 CPU 사용량이 약 20% 증가하고 지연 시간이 15~25% 악화됐다. 사용자들의 보고와 벤치마크 결과, oghttp2는 헤더 압축 해제(HPACK)에서 nghttp2보다 느렸다. nghttp2는 미리 계산된 유한 상태 머신(FSM)으로 Huffman 디코딩을 빠르게 처리하지만, oghttp2는 비트 단위 트리 탐색에 의존해 성능이 떨어진다. Envoy v1.37.0은 기본 코덱을 다시 nghttp2로 되돌렸다.
Huffman 디코딩은 출력 바이트당 평균 약 6번의 의존적 분기 및 로드 단계를 필요로 하는데, 이는 쿠키 한 글자를 처리하기에는 너무 많은 기계적 작업이다.