WORKER / WASM DEMO

只算用得着的

稀疏整列公式应遍历真实存在的单元格,而不是物化百万格矩形。

试试这个

  1. 跳到数据深处,不填充未使用的单元格。
  2. 修改一个输入,查看汇总重新计算。
  3. 对比名义整列范围与实际已填充行数。

它是怎么做到的

公式引擎保持稀疏引用的稀疏性。只有数组结果必须落地时才物化矩形,所以看起来很宽的公式不会意味着很大的分配。

查看源码

/**
 * Seed for the "performance" demo — a 100,000-row × 8-column generated
 * dataset (800,000 data cells) loaded through the worker's chunked
 * import-session API (`beginImport` / `importChunk` / `commitImport`),
 * never through per-cell `setCell` calls (see `seed-formulas.ts` for that
 * pattern, which is fine at ~20 cells but would be ~400,016 RPC round
 * trips here).
 *
 * Mode choice — `direct`, not `atomic`: the WASM worker runtime caps
 * `atomic` import sessions at `MAX_IMPORT_SESSION_NORMALIZED_CELLS`
 * (200,000 cells; see `worker-runtime.ts`) because an atomic commit
 * installs the whole staged batch as one full-sheet replace. `direct`
 * mode has no such session-wide cap — each chunk lands additively in the
 * live workbook via the engine's native `bulk_import_cells` batch call —
 * so it is the only session mode that can reach the ~400k-cell target.
 * The WASM/TS perf bench (`excel/solid-excel/test/perf-ts-vs-wasm-
 * report.md`) measured `bulk_import_cells` on pure-literal batches at
 * 887ms for 500,000 cells in one call; chunked at ~8,000 cells/call the
 * total native cost for this seed's ~400k literal cells should land
 * comfortably under a couple of seconds.
 *
 * Per-row formulas were deliberately NOT used for `revenue`: `direct`
 * mode parses formula text eagerly per chunk (unlike `atomic`, which
 * parks formula text unparsed until commit), and the same perf report