Skip to content

measures

Benchmarks of ordito.measures 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.1x1x10x100x1000x10000xordito (CUDA): the reference, 1xordito (CUDA)1xlibigl: 14x ordito's time, geometric mean over 1 functions; slower than ordito in 1libigl14x (1)MeshLib: 70x ordito's time, geometric mean over 2 functions; slower than ordito in 2MeshLib70x (2)PyVista: 72x ordito's time, geometric mean over 1 functions; slower than ordito in 1PyVista72x (1)trimesh: 613x ordito's time, geometric mean over 3 functions; slower than ordito in 3trimesh613x (3)MeshLab: 6594x ordito's time, geometric mean over 1 functions; slower than ordito in 1MeshLab6594x (1)
Time relative to ordito (CUDA), geometric mean over the measures 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
libigl 14x 1 1
MeshLib 70x 2 2
PyVista 72x 1 1
trimesh 613x 3 3
MeshLab 6594x 1 1

surface_centroid

0.1x1x10x100x1000x10000x100000xordito (CUDA): 72.0 µs, 1x ordito's timeordito (CUDA)1x · 72.0 µsMeshLib: 619.2 µs, 8.6x ordito's timeMeshLib8.6x · 619.2 µstrimesh: 153.78 ms, 2135x ordito's timetrimesh2135x · 153.78 msMeshLab: 1.182 s, 16405x ordito's timeMeshLab16405x · 1.182 s
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 72.0 µs 1x
MeshLib 619.2 µs 8.6x
trimesh 153.78 ms 2135x
MeshLab 1.182 s 16405x
All inputs
Input ordito (CUDA) MeshLab MeshLib trimesh
sphere_small 61.6 µs
bunny_decimated 68.6 µs 17.34 ms 47.4 µs 2.17 ms
bunny 54.9 µs 78.02 ms 74.1 µs 9.04 ms
dragon 72.0 µs 1.182 s 619.2 µs 153.78 ms
happy_buddha 91.4 µs 1.559 s 758.1 µs 193.73 ms
lucy 381.4 µs 47.269 s 38.62 ms 5.522 s

moments

0.1x1x10x100x1000x10000xordito (CUDA): 298.4 µs, 1x ordito's timeordito (CUDA)1x · 298.4 µslibigl: 7.45 ms, 25x ordito's timelibigl25x · 7.45 msPyVista: 38.83 ms, 130x ordito's timePyVista130x · 38.83 mstrimesh: 595.56 ms, 1996x ordito's timetrimesh1996x · 595.56 msMeshLib: 596.75 ms, 2000x ordito's timeMeshLib2000x · 596.75 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 298.4 µs 1x
libigl 7.45 ms 25x
PyVista 38.83 ms 130x
trimesh 595.56 ms 1996x
MeshLib 596.75 ms 2000x
All inputs
Input ordito (CUDA) libigl MeshLib PyVista trimesh
sphere_small 71.2 µs
bunny_decimated 70.6 µs 148.8 µs 7.55 ms 1.06 ms 7.16 ms
bunny 93.7 µs 677.0 µs 33.28 ms 3.64 ms 32.71 ms
dragon 298.4 µs 7.45 ms 596.75 ms 38.83 ms 595.56 ms
happy_buddha 382.0 µs 9.31 ms 745.09 ms 47.50 ms 747.59 ms
lucy 6.98 ms 412.61 ms 20.984 s 1.390 s 21.000 s

euler_characteristic

0.1x1x10x100x1000xordito (CUDA): 406.2 µs, 1x ordito's timeordito (CUDA)1x · 406.2 µstrimesh: 301.52 ms, 742x ordito's timetrimesh742x · 301.52 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 406.2 µs 1x
trimesh 301.52 ms 742x
All inputs
Input ordito (CUDA) trimesh
sphere_small 96.5 µs
bunny_decimated 103.7 µs 4.96 ms
bunny 123.2 µs 25.27 ms
dragon 406.2 µs 301.52 ms
happy_buddha 412.6 µs 346.84 ms
lucy 16.19 ms 12.145 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)
volume lucy 366.7 µs