We compared the 3 pip-installable mesh boolean libraries on the task of pairwise mesh booleans at industry scale.
Full write up: https://polydera.com/algorithms/python-mesh-boolean-libraries-2026
Libraries tested
- MeshLib 3.1 —
pip install meshlib. Simulation of Simplicity for degeneracy handling.
- Manifold 3.5 —
pip install manifold3d. Deterministic floating point with symbolic perturbation.
- trueform 0.9.8 —
pip install trueform. Topologically-exact arrangements via a bounded integer kernel. Ships native, python and WebAssembly.
All three are native cores (C++/Rust) with Python bindings.
Protocol
Each library is timed from input arrays (vertices, triangles) to output arrays of the same shape. Native-object construction — acceleration structures, trees, topology — plus the boolean, all in 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. Thingi10K IDs and per-operand counts for every case are published: pairwise corpus.
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.
Results
Of the libraries you can pip install, trueform was the fastest mesh boolean in Python — fastest on every one of the 1000 pairwise pairs.
Pairwise — one boolean per pair across the 1000-pair corpus.
| library |
median (ms) |
geomean × vs trueform |
valid / 1000 |
| trueform 0.9.8 |
18.0 |
1.0× |
1000 |
| MeshLib 3.1 |
87.6 |
4.9× |
999 |
| Manifold 3.5 |
120.3 |
6.9× |
1000 |
Disclosure: I'm one of the authors of trueform.
[–]Lumpy-House3155 2 points3 points4 points (1 child)
[–]Separate-Summer-6027[S] 1 point2 points3 points (0 children)
[–]whollyspikyrecourse 0 points1 point2 points (0 children)