From npm install to a watertight boolean solid in well under a second, on a
stock Node install with no toolchain. Every number below is read at load time from the JSON report
tools/bench_ttfb.js writes, and you can run the same script for your own number.
node tools/bench_ttfb.js. tests/test_cadsf-303_ttfb_page.js checks that the
data embedded in this page matches benchmarks/out/cadsf-303/report.json byte-for-byte.
Failed to load or parse the embedded benchmark report — see console.
The number below was measured on one Linux dev machine on one day; the
hardware and software versions are in the strip above. Your machine will give a different figure, and
the measuring script is what produced it — your equivalent is npm install
@nativecad/kernel followed by one boolean, which is exactly what the script times:
# in the NativeCAD build tree bash tools/build_packages.sh # build packages/kernel/dist (only needed once, or after a kernel change) node tools/bench_ttfb.js # packs, installs into a fresh dir, requires, runs one boolean — 5 runs, prints the median
Time from a fresh npm install of the packed kernel, through Node
cold-starting the freshly-installed module, through ops.boxBool.unionBoxes() producing a solid that
Topology.validate() confirms is closed and watertight. Every run starts in a brand-new project
directory with no shared node_modules and no warm require() cache, so no run gets a
head start on any other.
| Run | Install | Require | Boolean | Total | Watertight? | Triangles |
|---|
—
Method note: —
Mechanical CAD work is mostly booleans, so the bar is a real modeling operation:
ops.boxBool.unionBoxes unions two overlapping boxes into one watertight solid, and the same
closed-shell validator the repo's test suite gates on (Topology.validate()) confirms it. A
parsed STEP file or a non-null return would stop the clock earlier; this page does not.
The timing above is measured by this repo's script. How competing kernels gate any evaluation is sourced from the vendors' own public pages, so the two kinds of claim sit in separate boxes.
node tools/bench_ttfb.js above is the entire evaluation step for this kernel: no
account, no sales contact, no NDA — the package installs from the public npm registry and the
free non-commercial tier is the full kernel.This section covers process and access. NativeCAD's commercial licence terms are at web/pricing.html.
npm pack tarball of
@nativecad/kernel, so the registry-resolution time a real npm install
@nativecad/kernel adds is not in the number; it varies by network and cannot be measured
reproducibly from one machine. npm's install mechanics, Node's cold start and the boolean itself are
identical to a registry install.tools/bench_ttfb.js; Section 3 is sourced from the vendors' public
pages, and we correct it the day a vendor tells us it has changed. Siemens, Parasolid, Spatial and ACIS
are named to identify those pages; they are the marks and property of their respective owners, and
NativeCAD is not affiliated with, sponsored by, or endorsed by those vendors. Full site-wide notices:
legal notes.
Free for education and makers with a registered key · $200 per seat per year · Kernel SDK for products.