Skip to content

docs: add an "On performance" section to the design page#14

Merged
declaresub merged 1 commit into
masterfrom
docs-performance
Jul 22, 2026
Merged

docs: add an "On performance" section to the design page#14
declaresub merged 1 commit into
masterfrom
docs-performance

Conversation

@declaresub

Copy link
Copy Markdown
Owner

Records the reasoning behind prioritising correctness over speed, so it lives in the docs rather than only in discussion.

  • Header vulnerabilities (smuggling, response splitting, injection) come from parsers disagreeing, not from slow code — hence driving every header from its RFC ABNF, where the grammar is the specification.
  • Notes the direction that's easy to overlook: response splitting usually originates on the build side, which is why validity is a property of the field types rather than a check inside parse().
  • States plainly what is not claimed: no benchmarks, throughput unmeasured. If it ever matters, the useful measurement is worst-case behaviour on hostile input (super-linear backtracking → algorithmic DoS), which is why parse() bounds input length via Header.max_length first.

Claims checked against the source; docs build clean with -W.

🤖 Generated with Claude Code

Records why correctness is prioritised over speed: header vulnerabilities
(request smuggling, response splitting, injection) come from parsers disagreeing,
not from slow code, so every header is driven from its RFC ABNF -- the grammar is
the specification, leaving no shortcut to diverge from it. Notes that response
splitting usually originates on the build side, which is why validity is a
property of the field types rather than a check inside parse().

Also states plainly what is not claimed: there are no benchmarks and throughput is
unmeasured. If it ever matters, the measurement worth making is worst-case
behaviour on hostile input (super-linear backtracking as an algorithmic DoS),
which is why parse() bounds input length via Header.max_length first.

Docs build clean with -W.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@declaresub
declaresub merged commit 733293e into master Jul 22, 2026
9 checks passed
@declaresub
declaresub deleted the docs-performance branch July 22, 2026 20:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant