Skip to content

docs: surface JMH benchmark results in README + docs site#12

Merged
jlc488 merged 1 commit into
mainfrom
feat/performance-docs
May 23, 2026
Merged

docs: surface JMH benchmark results in README + docs site#12
jlc488 merged 1 commit into
mainfrom
feat/performance-docs

Conversation

@jlc488
Copy link
Copy Markdown
Collaborator

@jlc488 jlc488 commented May 23, 2026

Summary

Surfaces the JMH numbers from #11's BENCHMARKS.md into the two places consumers actually look:

  1. README.md / README.ko.md — new "Performance" / "성능" section inserted between Observability and the auto-config section. Five-row table + link to BENCHMARKS.md.
  2. docs/guides/performance{.md,.ko.md} — full standalone page on the docs site: what's measured, full results, latency-vs-overhead matrix, how-to-read, deliberately-out-of-scope.

The headline number that lands on the README:

The interceptor's allowed-path cost is ~5 μs per request (JMH, JDK 21) — 0.005% overhead on a 100 ms remote API call, invisible in practice.

What changes

File Change
README.md +13 lines, new "Performance" section between Observability and "What auto-configuration registers"
README.ko.md Same, mirrored in Korean (성능)
docs/guides/performance.md New mkdocs page — ~70 lines
docs/guides/performance.ko.md Korean mirror
mkdocs.yml "Performance" entry added to Guides nav + "성능" KO translation

Verification

  • mkdocs build --strict — clean build in 4.32 s, no new warnings (pre-existing anchor-link warnings in installation.md / configuration.ko.md untouched)
  • EN + KO sites both build with 10 translated nav elements
  • README link to BENCHMARKS.md resolves on GitHub
  • CI verifies mkdocs build on the PR
  • Docs site auto-deploys to ssrf-guard.devslab.kr on merge (existing workflow)

Related

  • BENCHMARKS.md (canonical source): added in #11 (merged)
  • This PR is the "Distribution" half of that work — BENCHMARKS.md is for contributors / reviewers; this is for consumers evaluating the library

Adds a "Performance" section to both READMEs (en/ko) and a new
guides/performance{,.ko}.md page on the mkdocs site, surfacing the
numbers captured in BENCHMARKS.md. Without this, the canonical
"what does ssrf-guard cost?" answer was buried in a repo-root file
that consumers never browse — now it appears one scroll into the
README and as a dedicated docs-site page.

The headline number is the allowed-path interceptor cost:
**~5 μs per request** on JDK 21, which is 0.005% overhead on a
100 ms remote API call. Each table includes the per-case score +
stdev from the JMH run, with a "how to read" guide so consumers
don't compare benchmarks they shouldn't.

Files:

- README.md / README.ko.md: new "Performance" / "성능" section
  inserted between Observability and the auto-config section.
  Five-row table + link to BENCHMARKS.md and the gradle task to
  reproduce locally.

- docs/guides/performance.md / .ko.md: full standalone page —
  what's measured, results tables, practical takeaway with
  latency-vs-overhead matrix, how-to-read, what's deliberately
  out of scope (DNS-time gates, startup cost, GraalVM AOT).
  Links to BENCHMARKS.md for canonical methodology + new-benchmark
  contribution guide.

- mkdocs.yml: Performance entry added to the Guides section in nav
  + 성능 translation under the ko locale's nav_translations.

Verified locally with `mkdocs build --strict` — no new warnings
introduced (pre-existing anchor-link warnings in installation.md /
configuration.ko.md untouched).
@jlc488 jlc488 merged commit 8ab360f into main May 23, 2026
1 check passed
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