Skip to content

bounds

Benchmarks of ordito.bounds against every library that computes the same thing. Each chart shows the time of every library relative to ordito on CUDA (1x, in green): a longer bar took longer. The table under each chart lists every input the function was measured on. See Benchmarks for how to read and reproduce these numbers.

Measured on GPU: NVIDIA GeForce RTX 5090 · CPU: Intel Xeon w7-2495X

Summary

0.01x0.1x1x10x100x1000xPyVista: 0.11x ordito's time, geometric mean over 3 functions; slower than ordito in 1PyVista0.11x (3)ordito (CUDA): the reference, 1xordito (CUDA)1xMeshLib: 2.1x ordito's time, geometric mean over 1 functions; slower than ordito in 1MeshLib2.1x (1)Open3D: 9.1x ordito's time, geometric mean over 8 functions; slower than ordito in 8Open3D9.1x (8)trimesh: 102x ordito's time, geometric mean over 2 functions; slower than ordito in 2trimesh102x (2)libigl: 104x ordito's time, geometric mean over 3 functions; slower than ordito in 3libigl104x (3)
Time relative to ordito (CUDA), geometric mean over the bounds functions both implement; in parentheses, the number of functions. Log scale. Runs stopped at the time limit are left out.
Values
Library Time relative to ordito Functions compared ordito faster in
PyVista 0.11x 3 1
MeshLib 2.1x 1 1
Open3D 9.1x 8 8
trimesh 102x 2 2
libigl 104x 3 3

aabb

0.001x0.01x0.1x1x10x100x1000xPyVista: 1.3 µs, 0.02x ordito's timePyVista0.02x · 1.3 µsordito (CUDA): 56.3 µs, 1x ordito's timeordito (CUDA)1x · 56.3 µsMeshLib: 276.6 µs, 4.9x ordito's timeMeshLib4.9x · 276.6 µsOpen3D: 853.5 µs, 15x ordito's timeOpen3D15x · 853.5 µslibigl: 10.15 ms, 180x ordito's timelibigl180x · 10.15 mstrimesh: 14.09 ms, 250x ordito's timetrimesh250x · 14.09 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
PyVista 1.3 µs 0.02x
ordito (CUDA) 56.3 µs 1x
MeshLib 276.6 µs 4.9x
Open3D 853.5 µs 15x
libigl 10.15 ms 180x
trimesh 14.09 ms 250x
All inputs
Input ordito (CUDA) libigl MeshLib Open3D PyVista trimesh
sphere_small 50.8 µs
bunny_decimated 59.3 µs 197.9 µs 24.9 µs 15.8 µs 1.5 µs 275.1 µs
bunny 60.4 µs 863.0 µs 30.9 µs 67.6 µs 1.3 µs 1.23 ms
dragon 56.3 µs 10.15 ms 276.6 µs 853.5 µs 1.3 µs 14.09 ms
happy_buddha 63.3 µs 12.12 ms 362.9 µs 1.03 ms 1.5 µs 17.12 ms
lucy 296.3 µs 557.04 ms 2.22 ms 76.14 ms 1.2 µs 445.21 ms

enclosing_diagonal

0.0001x0.001x0.01x0.1x1x10x100xPyVista: 0.5 µs, 0.01x ordito's timePyVista0.01x · 0.5 µsordito (CUDA): 71.2 µs, 1x ordito's timeordito (CUDA)1x · 71.2 µslibigl: 4.33 ms, 61x ordito's timelibigl61x · 4.33 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
PyVista 0.5 µs 0.01x
ordito (CUDA) 71.2 µs 1x
libigl 4.33 ms 61x
All inputs
Input ordito (CUDA) libigl PyVista
sphere_small 89.9 µs
bunny_decimated 74.4 µs 126.5 µs 0.6 µs
bunny 69.9 µs 371.2 µs 0.6 µs
dragon 71.2 µs 4.33 ms 0.5 µs
happy_buddha 78.8 µs 5.38 ms 0.9 µs
lucy 317.3 µs 353.07 ms 0.9 µs

points_in_aabb

0.1x1x10x100xordito (CUDA): 60.8 µs, 1x ordito's timeordito (CUDA)1x · 60.8 µsOpen3D: 758.2 µs, 12x ordito's timeOpen3D12x · 758.2 µs
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 60.8 µs 1x
Open3D 758.2 µs 12x
All inputs
Input ordito (CUDA) Open3D
sphere_small 43.5 µs 13.6 µs
sphere_med 52.1 µs 195.3 µs
sphere_large 60.8 µs 758.2 µs

crop_points

0.1x1x10x100xordito (CUDA): 48.8 µs, 1x ordito's timeordito (CUDA)1x · 48.8 µsOpen3D: 589.3 µs, 12x ordito's timeOpen3D12x · 589.3 µs
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 48.8 µs 1x
Open3D 589.3 µs 12x
All inputs
Input ordito (CUDA) Open3D
sphere_small 71.4 µs 10.3 µs
sphere_med 70.6 µs 154.9 µs
sphere_large 48.8 µs 589.3 µs

crop_mesh

0.1x1x10x100x1000xordito (CUDA): 67.6 µs, 1x ordito's timeordito (CUDA)1x · 67.6 µsOpen3D: 10.67 ms, 158x ordito's timeOpen3D158x · 10.67 ms
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 67.6 µs 1x
Open3D 10.67 ms 158x
All inputs
Input ordito (CUDA) Open3D
sphere_small 84.8 µs 129.2 µs
sphere_med 73.2 µs 2.20 ms
sphere_large 67.6 µs 10.67 ms

oriented_bounding_box

0.1x1x10x100x1000x10000xordito (CUDA): 1.58 ms, 1x ordito's timeordito (CUDA)1x · 1.58 msPyVista: 18.34 ms, 12x ordito's timePyVista12x · 18.34 mstrimesh: 159.09 ms, 100x ordito's timetrimesh100x · 159.09 msOpen3D: 2.096 s, 1322x ordito's timeOpen3D1322x · 2.096 slibigl: 2.483 s, 1567x ordito's timelibigl1567x · 2.483 s
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 1.58 ms 1x
PyVista 18.34 ms 12x
trimesh 159.09 ms 100x
Open3D 2.096 s 1322x
libigl 2.483 s 1567x
All inputs
Input ordito (CUDA) libigl Open3D PyVista trimesh
sphere_small 907.9 µs
bunny_decimated 986.2 µs 8.67 ms 192.82 ms 4.47 ms 32.22 ms
bunny 1.13 ms 35.57 ms 938.30 ms 4.71 ms 69.56 ms
dragon 1.58 ms 2.483 s 2.096 s 18.34 ms 159.09 ms
happy_buddha 1.69 ms 3.138 s 11.295 s 21.53 ms 306.08 ms
lucy 7.98 ms 138.582 s 3.222 s 1.057 s 2.642 s

points_in_aabb_mask

0.1x1x10x100xordito (CUDA): 24.3 µs, 1x ordito's timeordito (CUDA)1x · 24.3 µsOpen3D: 543.9 µs, 22x ordito's timeOpen3D22x · 543.9 µs
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 24.3 µs 1x
Open3D 543.9 µs 22x
All inputs
Input ordito (CUDA) Open3D
sphere_small 27.6 µs 16.9 µs
sphere_med 24.3 µs 139.5 µs
sphere_large 24.3 µs 543.9 µs

points_in_obb

0.1x1x10x100xordito (CUDA): 42.4 µs, 1x ordito's timeordito (CUDA)1x · 42.4 µsOpen3D: 763.3 µs, 18x ordito's timeOpen3D18x · 763.3 µs
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 42.4 µs 1x
Open3D 763.3 µs 18x
All inputs
Input ordito (CUDA) Open3D
sphere_small 59.3 µs 16.0 µs
sphere_med 42.2 µs 188.8 µs
sphere_large 42.4 µs 763.3 µs

points_in_obb_mask

0.1x1x10x100xordito (CUDA): 17.5 µs, 1x ordito's timeordito (CUDA)1x · 17.5 µsOpen3D: 750.3 µs, 43x ordito's timeOpen3D43x · 750.3 µs
sphere_large (327 680 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 17.5 µs 1x
Open3D 750.3 µs 43x
All inputs
Input ordito (CUDA) Open3D
sphere_small 19.7 µs 16.8 µs
sphere_med 18.7 µs 276.4 µs
sphere_large 17.5 µs 750.3 µs

Without a reference

No other library computes these, so they have no comparison. ordito (CUDA)'s median time on the largest input it was measured on:

Function Input ordito (CUDA)
aabb_union — 14.9 µs
box_diagonal — 8.7 µs