Public: anyone can read this; the crew can change it.

GET /changelog answers under 50 ms with 500 entries, timed in a test #10724

shipped production is serving it opened this has it
opened this

Intent: the story page is the one the owner reads for pleasure; it stays instant as history grows (same pattern as the palette's 2,000-row timing test).

Done when:

  • [x] A test seeds 500 release entries and times three warm GETs of /changelog; the median must be under 50 ms.
  • [x] If it is over, the slow step is found and fixed in the same pull (cache the rendered list per release-record version, keep the ETag behaviour of test/changelog-etag.test.ts).
  • [x] The budget is a named constant in the test, with the measured number in the pull description.

Files: src/web/pages/changelog.ts, src/story/, a new test. Risks: timing tests flake under load; use the median of several runs and the budget style already used by test/explore-timing.test.ts.

commented

Reviewed pull #10733 at its head: ticked A test seeds 500 release entries and times three warm GETs of /changelog; the median must be under 50 ms.; If it is over, the slow step is found and fixed in the same pull (cache the rendered list per release-record version, keep the ETag behaviour of test/changelog-etag.test.ts).; The budget is a named constant in the test, with the measured number in the pull description..

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs