Repository navigation
perf(desktop): page speed of WireCat Desktop on a real store - #345
Merged
Merged
Conversation
Times the memo reads each Desktop page sends, as a fresh process and through a warm `memo commands --serve` server, a page's reads fired together through pools of 1, 2 and N servers, the first request on a fresh server, and click to next frame in a production build with mock data. Headlines: a warm server answers in 30 to 330 ms what a fresh process answers in 650 to 960 ms; `people list` takes 3.7 to 4.2 s for any limit on a store of about 114,000 people; Desktop's pool of 2 gives the Memory page nothing over all fresh processes (1081 against 1107 ms); clicks paint in 24 to 96 ms. Real store totals only: no content, names or refs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Task
Measure why WireCat Desktop pages feel slow on the owner's real store, and what each page waits for.
Why
The owner found Desktop slow and buggy around memo and asked whether it can be made really fast. The plan for Desktop,
memo and cli-core needs numbers per command and per page, not guesses.
What
performance/desktop/page-speed/README.md: why, setup, results, what it showed, what was not measured.scripts/: the command list generator (make-commands.mjs, writes outside the repo),measure-commands.mjs(fresh process against a warm server),
measure-fanout.mjs(a page's reads at once through pools of 1, 2, N),measure-first.mjs(first request on a fresh server),click-speed.mjs(click to next frame in headless Chrome).results.txt: totals only. Linked fromperformance/desktop/README.mdandperformance/README.md.Headlines: a warm server 30 to 330 ms against a fresh process 650 to 960 ms;
people list3.7 to 4.2 s for anylimit on about 114,000 people; Desktop's pool of 2 gives Memory nothing over all fresh (1081 against 1107 ms);
clicks paint in 24 to 96 ms in a production build.
Testing
Each script ran on the machine described in the page;
biome check,rumdl,cspellandmarkdownlint-cli2pass onthe new files. Real store data: read only,
--no-record, counts and bytes only.🤖 Generated with Claude Code