Skip to content

hash worker built files - #463

Merged
chee merged 12 commits into
mainfrom
melt2
Oct 25, 2026
Merged

chee merged 12 commits into
mainfrom
melt2

Conversation

@chee

@chee chee commented Oct 24, 2026

Copy link
Copy Markdown
Member

No description provided.

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: Patchwork with this PR against main

1170b76 against main at 8758350, Patchwork as it ships (patchwork mode), in chromium, firefox and webkit, each on its own runner with main and the PR measured one after the other (run). Lower is better throughout. A row is in the table when every run of the PR came out on the same side of every run of main, with the medians more than 20% apart; every benchmark is below it.

browser benchmark main PR change
chromium boot → server connected, first tab (3 tabs) 827 ms (655–901) 520 ms (516–559) −37% better
chromium boot → server connected, first tab (10 tabs) 672 ms (666–769) 511 ms (501–521) −24% better
chromium server link seen down while offline FAIL ok fixed
chromium …and the server did not see the offline edits FAIL ok fixed
chromium boot → server connected, last of 40 tabs 190 ms (187–200) 415 ms (391–427) +119% worse
chromium edit → seen in 39 tabs: median tab 38 ms (37–41) 58 ms (57–60) +55% worse
chromium edit → seen in 39 tabs: slowest tab 77 ms (68–86) 146 ms (122–154) +90% worse
every benchmark: the median of 3 runs of main and 3 runs of the PR, their range in brackets
browser benchmark main PR change
chromium boot → repo, first tab (1 tabs) 254 ms (242–277) 260 ms (240–269) +2%
chromium boot → server connected, first tab (1 tabs) 567 ms (561–589) 483 ms (462–487) −15%
chromium renderer memory, all tabs + workers (1 tabs) 406 MB (401–409) 367 MB (349–368) −10%
chromium renderer processes (1 tabs) 3 3
chromium boot → repo, first tab (3 tabs) 282 ms (275–284) 285 ms (271–297) +1%
chromium boot → repo, last tab (3 tabs) 192 ms (185–195) 200 ms (191–208) +4%
chromium boot → server connected, first tab (3 tabs) 827 ms (655–901) 520 ms (516–559) −37% better
chromium renderer memory, all tabs + workers (3 tabs) 733 MB (729–741) 726 MB (711–731) −1%
chromium renderer processes (3 tabs) 5 5
chromium boot → repo, first tab (10 tabs) 275 ms (258–276) 269 ms (269–277) −2%
chromium boot → repo, last tab (10 tabs) 192 ms (192–196) 205 ms (189–207) +7%
chromium boot → server connected, first tab (10 tabs) 672 ms (666–769) 511 ms (501–521) −24% better
chromium renderer memory, all tabs + workers (10 tabs) 1929 MB (1887–1934) 1875 MB (1860–1909) −3%
chromium renderer processes (10 tabs) 12 12
chromium sync still works after the first tab closes ok ok
chromium edit → seen + confirmed, after first tab closed 143 ms (140–151) 140 ms (136–144) −2%
chromium server link seen down while offline FAIL ok fixed
chromium …and the server did not see the offline edits FAIL ok fixed
chromium tabs converged while offline, over a local channel ok ok
chromium offline edits in two tabs both survive reconnect ok ok
chromium reconnect → tabs converged (only where they hadn't already) – –
chromium …and a fresh tab sees both ok ok
chromium boot → doc open, tab 1 737 ms (722–740) 647 ms (635–653) −12%
chromium boot → doc open, tab 2 312 ms (305–349) 351 ms (345–362) +13%
chromium boot → doc open, tab 10 294 ms (287–307) 321 ms (310–323) +9%
chromium open 40 tabs, wall clock 9468 ms (9406–9561) 9674 ms (9665–10238) +2%
chromium boot → repo, last of 40 tabs 71 ms (58–85) 75 ms (70–80) +6%
chromium boot → linked, last of 40 tabs – –
chromium boot → server connected, last of 40 tabs 190 ms (187–200) 415 ms (391–427) +119% worse
chromium renderer memory, 40 tabs 7258 MB (7213–7311) 7361 MB (7298–7391) +1%
chromium renderer processes, 40 tabs 42 42
chromium 39 tabs find the doc: median 798 ms (786–841) 877 ms (853–910) +10%
chromium 39 tabs find the doc: slowest 919 ms (884–968) 984 ms (943–1009) +7%
chromium …all 39 found it ok ok
chromium …finds that needed a retry (of 39) 0 0
chromium edit → seen in 39 tabs: median tab 38 ms (37–41) 58 ms (57–60) +55% worse
chromium edit → seen in 39 tabs: slowest tab 77 ms (68–86) 146 ms (122–154) +90% worse
chromium …tabs that saw every edit (of 39) 39 39
chromium edit → server holds our heads (40 tabs) 212 ms (206–234) 197 ms (192–200) −7%
chromium …server confirmed every edit (40 tabs) ok ok
chromium …longest main-thread stall in tab 0 during the edits 48 ms (34–70) 25 ms (23–52) −47%
chromium sync rounds per sibling edit, non-editing tab 0 0
chromium server bytes received per edit per tab – –
chromium storage writes (saveBatch) per edit per tab – –
chromium worker errors (40 tabs) 0 –
chromium a fresh tab finds a closed tab's doc (no server) ok ok
chromium …time to find it, from storage 47 ms (39–51) 49 ms (46–54) +4%
chromium …and every edit made before the close is in it ok ok
chromium edits from tabs closed right after editing all survive ok ok
chromium …or at least 5s later ok ok
chromium find a doc another tab just created 62 ms (53–69) 52 ms (50–61) −16%
chromium …and every such find() succeeded within 5s ok ok
chromium …and none settled unavailable first ok –
chromium edit → seen in 2 other tabs 7 ms (6–7) 8 ms (7–8) +11%
chromium …every edit reached every other tab within 5s ok ok
chromium edit → server holds our heads 123 ms (123–123) 113 ms (113–117) −8%
chromium …the server confirmed every edit within 5s ok ok
chromium …and a stranger gets the whole doc from the server ok ok
chromium renderer memory, 1 tab 407 MB (400–415) 358 MB (358–370) −12%
chromium renderer memory, 10 tabs 1904 MB (1888–1922) 1918 MB (1870–1970) +1%
chromium …finds that settled unavailable first (of 2) – 0
firefox boot → repo, first tab (1 tabs) – 385 ms (385–385)
firefox boot → server connected, first tab (1 tabs) – 657 ms (651–658)
firefox renderer memory, all tabs + workers (1 tabs) – –
firefox renderer processes (1 tabs) – –
firefox boot → repo, first tab (3 tabs) – 378 ms (374–395)
firefox boot → repo, last tab (3 tabs) – 241 ms (231–249)
firefox boot → server connected, first tab (3 tabs) – 761 ms (740–767)
firefox renderer memory, all tabs + workers (3 tabs) – –
firefox renderer processes (3 tabs) – –
firefox boot → repo, first tab (10 tabs) – 356 ms (353–371)
firefox boot → repo, last tab (10 tabs) – 251 ms (250–253)
firefox boot → server connected, first tab (10 tabs) – 887 ms (710–896)
firefox renderer memory, all tabs + workers (10 tabs) – –
firefox renderer processes (10 tabs) – –
firefox sync still works after the first tab closes – ok
firefox edit → seen + confirmed, after first tab closed – 101 ms (99–322)
firefox server link seen down while offline – ok
firefox …and the server did not see the offline edits – ok
firefox tabs converged while offline, over a local channel – ok
firefox offline edits in two tabs both survive reconnect – ok
firefox reconnect → tabs converged (only where they hadn't already) – –
firefox …and a fresh tab sees both – ok
firefox boot → doc open, tab 1 – 692 ms (686–810)
firefox boot → doc open, tab 2 – 316 ms (313–493)
firefox boot → doc open, tab 10 – 384 ms (283–496)
firefox open 40 tabs, wall clock – 19326 ms (17802–25242)
firefox boot → repo, last of 40 tabs – 129 ms (108–141)
firefox boot → linked, last of 40 tabs – –
firefox boot → server connected, last of 40 tabs – 580 ms (410–679)
firefox renderer memory, 40 tabs – –
firefox renderer processes, 40 tabs – –
firefox 39 tabs find the doc: median – 229 ms (220–249)
firefox 39 tabs find the doc: slowest – 289 ms (274–302)
firefox …all 39 found it – ok
firefox …finds that needed a retry (of 39) – 0
firefox edit → seen in 39 tabs: median tab – 86 ms (82–91)
firefox edit → seen in 39 tabs: slowest tab – 159 ms (151–218)
firefox …tabs that saw every edit (of 39) – 39
firefox edit → server holds our heads (40 tabs) – 253 ms (246–259)
firefox …server confirmed every edit (40 tabs) – ok
firefox …longest main-thread stall in tab 0 during the edits – 110 ms (96–172)
firefox sync rounds per sibling edit, non-editing tab – 0
firefox server bytes received per edit per tab – –
firefox storage writes (saveBatch) per edit per tab – –
firefox worker errors (40 tabs) – –
firefox a fresh tab finds a closed tab's doc (no server) – ok
firefox …time to find it, from storage – 18 ms (17–19)
firefox …and every edit made before the close is in it – ok
firefox edits from tabs closed right after editing all survive – ok
firefox …or at least 5s later – ok
firefox find a doc another tab just created – 21 ms (19–25)
firefox …and every such find() succeeded within 5s – ok
firefox …finds that settled unavailable first (of 2) – 0
firefox edit → seen in 2 other tabs – 11 ms (10–11)
firefox …every edit reached every other tab within 5s – ok
firefox edit → server holds our heads – 78 ms (77–79)
firefox …the server confirmed every edit within 5s – ok
firefox …and a stranger gets the whole doc from the server – ok
webkit boot → repo, first tab (1 tabs) – 466 ms (453–468)
webkit boot → server connected, first tab (1 tabs) – 773 ms (767–800)
webkit renderer memory, all tabs + workers (1 tabs) – –
webkit renderer processes (1 tabs) – –
webkit boot → repo, first tab (3 tabs) – 456 ms (450–480)
webkit boot → repo, last tab (3 tabs) – 388 ms (383–391)
webkit boot → server connected, first tab (3 tabs) – 755 ms (749–814)
webkit renderer memory, all tabs + workers (3 tabs) – –
webkit renderer processes (3 tabs) – –
webkit boot → repo, first tab (10 tabs) – 460 ms (404–472)
webkit boot → repo, last tab (10 tabs) – 394 ms (394–416)
webkit boot → server connected, first tab (10 tabs) – 816 ms (724–822)
webkit renderer memory, all tabs + workers (10 tabs) – –
webkit renderer processes (10 tabs) – –
webkit sync still works after the first tab closes – ok
webkit edit → seen + confirmed, after first tab closed – 197 ms (194–198)
webkit server link seen down while offline – ok
webkit …and the server did not see the offline edits – ok
webkit tabs converged while offline, over a local channel – ok
webkit offline edits in two tabs both survive reconnect – ok
webkit reconnect → tabs converged (only where they hadn't already) – –
webkit …and a fresh tab sees both – ok
webkit boot → doc open, tab 1 – 928 ms (919–953)
webkit boot → doc open, tab 2 – 514 ms (444–525)
webkit boot → doc open, tab 10 – 537 ms (515–574)
webkit open 40 tabs, wall clock – 32276 ms (31437–32883)
webkit boot → repo, last of 40 tabs – 258 ms (207–270)
webkit boot → linked, last of 40 tabs – –
webkit boot → server connected, last of 40 tabs – 711 ms (700–749)
webkit renderer memory, 40 tabs – –
webkit renderer processes, 40 tabs – –
webkit 39 tabs find the doc: median – 655 ms (596–697)
webkit 39 tabs find the doc: slowest – 918 ms (835–984)
webkit …all 39 found it – ok
webkit …finds that needed a retry (of 39) – 0
webkit edit → seen in 39 tabs: median tab – 104 ms (94–112)
webkit edit → seen in 39 tabs: slowest tab – 266 ms (225–279)
webkit …tabs that saw every edit (of 39) – 39
webkit edit → server holds our heads (40 tabs) – 386 ms (358–424)
webkit …server confirmed every edit (40 tabs) – ok
webkit …longest main-thread stall in tab 0 during the edits – 65 ms (39–96)
webkit sync rounds per sibling edit, non-editing tab – 0
webkit server bytes received per edit per tab – –
webkit storage writes (saveBatch) per edit per tab – –
webkit worker errors (40 tabs) – –
webkit a fresh tab finds a closed tab's doc (no server) – ok
webkit …time to find it, from storage – 103 ms (75–107)
webkit …and every edit made before the close is in it – ok
webkit edits from tabs closed right after editing all survive – ok
webkit …or at least 5s later – ok
webkit find a doc another tab just created – 47 ms (43–52)
webkit …and every such find() succeeded within 5s – ok
webkit …finds that settled unavailable first (of 2) – 0
webkit edit → seen in 2 other tabs – 16 ms (14–19)
webkit …every edit reached every other tab within 5s – ok
webkit edit → server holds our heads – 153 ms (149–163)
webkit …the server confirmed every edit within 5s – ok
webkit …and a stranger gets the whole doc from the server – ok

@github-actions

github-actions Bot commented Oct 24, 2026 •

Copy link
Copy Markdown
Contributor

🪡 Patchwork

Torn down.

@chee
chee marked this pull request as ready for review October 25, 2026 03:55
@chee
chee merged commit 37b839c into main Oct 25, 2026
14 checks passed
@chee
chee deleted the melt2 branch October 25, 2026 15:50
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