etherpad-lite/src
John McLear 825302c91c experiment: applyToText worker-thread microbenchmark for #7756
Measures per-call wall time of applyToText sync vs through a
worker_threads round-trip across realistic pad sizes (1KB..2MB).
Result: worker offload is NEVER net-positive — postMessage
structured clone of the text string is the dominant cost. At 1KB
worker adds +244% overhead; at 2MB +326%. The string serialization
across V8 isolate boundaries kills the win for the per-call
offload model.

Implication for #7756 architectural next-step: per-call worker
offload is not viable. The right shape is per-pad worker isolation
(one pad in one worker; the main thread is a router) so
serialization happens once at pad handoff rather than per
changeset.

Files:
- src/scaling-bench/applyToText-bench.ts — main benchmark
- src/scaling-bench/applyToText-worker.mjs — worker entry

Run with:
  cd src && node --import tsx scaling-bench/applyToText-bench.ts

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 12:22:23 +01:00
..
locales fix(a11y): skip-to-content link + hide line numbers from screen readers (#7255) (#7758) 2026-05-15 19:23:52 +01:00
node feat(metrics): 3 Prometheus counters for scaling dive (#7756) (#7762) 2026-05-15 19:54:42 +01:00
scaling-bench experiment: applyToText worker-thread microbenchmark for #7756 2026-05-16 12:22:23 +01:00
static fix(a11y): action Qodo review on PR #7758 (#7764) 2026-05-15 20:03:16 +01:00
templates fix(a11y): skip-to-content link + hide line numbers from screen readers (#7255) (#7758) 2026-05-15 19:23:52 +01:00
tests fix(a11y): action Qodo review on PR #7758 (#7764) 2026-05-15 20:03:16 +01:00
.eslintrc.cjs Feat/admin react (#6211) 2024-03-09 23:07:09 +01:00
ep.json feat(updater): tier 2 — manual-click update from /admin/update (#7607) (#7704) 2026-05-10 09:00:07 +01:00
etherpad_icon.svg Change favicon to be closer to new style 2020-04-19 18:20:21 +02:00
package.json build(deps-dev): bump the dev-dependencies group with 3 updates (#7759) 2026-05-15 19:24:07 +01:00
playwright.config.ts test(playwright): un-skip ep_headings2 spec under WITH_PLUGINS (#7634) 2026-04-30 06:12:23 +01:00
README.md remove one less warning during install by having a readme placeholder 2013-02-10 03:04:08 +00:00
tsconfig.json 🩹 — Avoid duplicate key "types" in tsconfig (#7610) 2026-04-28 13:06:43 +08:00
vitest.config.ts Feat/changeset ts (#6594) 2024-08-18 12:14:24 +02:00
web.config Added typescript to etherpad 2024-02-05 21:13:02 +01:00

Ignore this file and see the file in the base installation folder