Algorithms
June 29, 2026
csgbooleansbenchmarksperformancecomparisonpython

Comparison and Benchmarks of Python Mesh Boolean Libraries at Industry Scale — 2026

Three pip-installable mesh boolean libraries on the Thingi10K corpus at 200K–1.5M polygons per operand: trueform, MeshLib, Manifold. trueform is the fastest tested in Python — 18 ms median, 4.9× MeshLib, 6.9× Manifold (geometric mean), fastest on all 1000 pairs.

Žiga Sajovic, Polydera

Part of a series on the same Thingi10K corpus, also measured for native C++ and eight libraries and in the browser.

Python is where mesh geometry gets scripted — scientific computing, CAD automation, slicing and additive-manufacturing prep, simulation meshing, ML data pipelines. The boolean is the workhorse: union, intersection, difference. At industry scale — 200K to 1.5M polygons per operand — the library you pip install decides whether that runs in tens of milliseconds or seconds.

Three pip-installable mesh boolean libraries on the Thingi10K corpus: trueform, MeshLib, and Manifold. Each through its official Python package, default install, default thread count. Timings are arrays-in to arrays-out — NumPy vertices and triangles in, the same out — the cost a Python program actually pays.

The corpus25 of 1,000 Thingi10K pairs · 200K–1.5M polygons · two operands overlaid

Of the libraries you can pip install, trueform is the fastest mesh boolean in Python.

  • 18 ms median, fastest on every one of the 1000 pairs — 4.9× MeshLib, 6.9× Manifold (geometric mean).
  • Valid on all 1000 pairs — closed and manifold. Manifold matches it; MeshLib is valid on 999.
  • Same solid every time — signed volumes agree across all three.
trueform Try it live GitHub Lunar

The libraries

  • trueform 0.9.8pip install trueform. Topologically-exact arrangements over a bounded integer kernel. The boolean runs in C++; NumPy in, NumPy out.
  • MeshLib 3.1pip install meshlib. Simulation of Simplicity for degeneracy handling.
  • Manifold 3.5pip install manifold3d. Deterministic floating point with symbolic perturbation.

All three are native cores (C++/Rust) with Python bindings — this is the speed the package gives you, not a pure-Python reimplementation.

Protocol

Each library is timed from input arrays to output arrays of the same shape. Native-object construction — where MeshLib and Manifold build their acceleration structures, and trueform builds its tree, face-membership, and manifold-edge link — plus the boolean, all inside the timer. Only file I/O is outside. Best of 5, fresh objects every run; nothing amortised across calls.

Result agreement. On every pair the three produced the same solid — signed volumes agree within floating-point tolerance. trueform and Manifold returned a closed, manifold mesh on all 1000 pairs; MeshLib on 999. The comparison is wall-clock only.

Corpus. Random sets of solid, manifold, non-self-intersecting Thingi10K meshes, 200K to 1.5M polygons per operand. Each operand is normalised to unit extent, randomly rotated, and translated so the bounding boxes overlap; each pair takes the union. The same 1000-pair corpus as the native benchmark; Thingi10K IDs and per-operand counts are published.

Environment. Apple M4 Max (arm64), macOS, CPython 3.13. Installed from PyPI: trueform 0.9.8, meshlib 3.1.0.75, manifold3d 3.5.1 — default builds, default thread count. (On Apple Silicon the wheel's compiled architecture matters; all three ship native arm64 builds.)

Pairwise booleans

One union per pair across the 1000-pair corpus. trueform is fastest on every one of them. The time axis is linear — the gap between violins is the real time difference, not a log-compressed one.

librarymedian (ms)geomean × vs trueformvalid / 1000trueform 0.9.818.01.0×1000MeshLib 3.187.64.9×999Manifold 3.5120.36.9×1000

trueform clusters tight around 18 ms. MeshLib and Manifold spread up the axis — five-to-seven times slower in the middle, with heavier tails. The win is not on average: trueform was the fastest of the three on every pair of the 1000.

These trueform numbers are the Python binding; the boolean itself runs in C++, so the native driver is faster again (15.7 ms median). The full eight-library comparison — adding CGAL, Geogram, Cherchi, Solidean, and the in-browser WebAssembly build, with N-ary scaling to N=64 — is in the industry-scale benchmark.

trueform · Try it live · Lunar · GitHub · Documentation

Cite as
@article{polydera:python-mesh-boolean-libraries-2026,
  title={Comparison and Benchmarks of Python Mesh Boolean Libraries at Industry Scale — 2026},
  author={Sajovic, {\v{Z}}iga, Polydera},
  year={2026},
  url={https://polydera.com/algorithms/python-mesh-boolean-libraries-2026},
  organization={Polydera}
}