Measure first: a meeting with thousands of posts, and numbers to compare #225

Closed
opened 2026-10-21 19:04:34 +00:00 by littlefox · 1 comment
Owner

Groundwork for the 0.6 performance issues (D-057). Every fix there should come with a before/after number, not a feeling.

  • Seed: add a big meeting to devseed: a few thousand posts, with long chains, wide threads (one post with hundreds of replies), and some pictures. The real meetings on kom.lysator.liu.se that number in the thousands are the model.
  • Numbers, web: a Playwright spec (not part of the normal run) that reads through it and records:
    • JS heap (performance.memory / CDP Runtime.getHeapUsage);
    • DOM node count;
    • long tasks (PerformanceObserver "longtask");
    • frame times while scrolling;
    • time from "Läs nästa" to the post being shown.
  • Numbers, desktop: RSS of the process (/proc/PID/status) over the same walk, run from the desktop smoke harness.
  • Output: the numbers go in a small table in the PR or the issue that changes them.
Groundwork for the 0.6 performance issues (D-057). Every fix there should come with a before/after number, not a feeling. - **Seed:** add a big meeting to `devseed`: a few thousand posts, with long chains, wide threads (one post with hundreds of replies), and some pictures. The real meetings on kom.lysator.liu.se that number in the thousands are the model. - **Numbers, web:** a Playwright spec (not part of the normal run) that reads through it and records: - JS heap (`performance.memory` / CDP `Runtime.getHeapUsage`); - DOM node count; - long tasks (`PerformanceObserver` "longtask"); - frame times while scrolling; - time from "Läs nästa" to the post being shown. - **Numbers, desktop:** RSS of the process (`/proc/PID/status`) over the same walk, run from the desktop smoke harness. - **Output:** the numbers go in a small table in the PR or the issue that changes them.
Author
Owner

Merged in #252; main run #414 green. tools/perf.sh LABEL and tools/desktop-perf.sh LABEL give the numbers; tools/perf-table.py A B compares. Baseline table in #252. Each 0.6 PR since compares against it.

Merged in #252; main run #414 green. `tools/perf.sh LABEL` and `tools/desktop-perf.sh LABEL` give the numbers; `tools/perf-table.py A B` compares. Baseline table in #252. Each 0.6 PR since compares against it.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
littlefox/neokom#225
No description provided.