Roadmap 0.10, Performance roadmap — wave 3

PERF.19 Scale: time is linear, memory is the ceiling. The 10x/100x/1000x table and where each format stops

  • Sanity check
  • Planned

The wave 3 scale track ran every engine on 10x and where possible 100x and 1000x files (Node 24, 12 GB heap cap; docs/0.9-sessions/perf-wave3/scale-1000x.md, tool tools/perf/scale-bench.mjs, generators tools/perf/gen/, 7.6 GB of files registered in testfiles/LARGE-FILES.md). Read time scales linearly almost everywhere (exponents: DWG read 0.93, IFC open 0.95, glTF 0.9, LandXML 1.1, LAS 0.7, GDS 0.87, PDF 1.0); the DWG writer is super-linear (1.3). What stops a file is memory and the data shape: one JS string per text file (hard stop 512 MB, practical 100 MB), one object per entity (cc-dwg 35 bytes of heap per file byte), whole-document JSON per undo step. Passes today: point clouds to 2 GB (100 M points in 59.5 s, 3.8 GB), cc-ifc index to 1.9 GB (15.9 s), GDS/OASIS to 622 MB (2.4 s), pdf.js 2,000 sheets (0.6 s), glTF 400 MB import (17 s). Stops: DXF 15 MB (crash, FX.142, now fixed), cc-dwg 76 MB needs 2.6 GB and 66 s to write, LandXML 358 MB needs 4.9 GB, ModelCraft first edit after a 400 MB import 36 s and 9 GB. This row: put the 1x and 10x lines of scale-bench into the PERF.6 budget (one line per format, fail on +15 % or any task over 5 s), plus the in-app budgets the 2D and 3D tracks set with their scripts (tools/perf/apps2d-*.mjs, apps3d-*.mjs on the registered files): CadCraft 100k entities open under 3 s, redraw p95 under 33 ms, pick under 5 ms, autosave under 500 ms; CivilCraft 500k points open under 5 s, zoom p95 under 100 ms; MarkupCraft 2,000 sheets switch p95 under 150 ms, heap under 400 MB; BimCraft heap per MB of IFC, ModelCraft heap per face, DetailCraft per member, draw calls, edit to next frame. Keep the table in the release notes results section; each format and app row below is the work.

Add a comment

Community comments

No comments yet

Add detail as we go: how you would use it, files or steps that show the problem, what other programs do. The team reads every comment.

Sign in or create a free account to add a comment.