Skip to content

vertices

Benchmarks of ordito.vertices 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.1x1x10x100x1000xordito (CUDA): the reference, 1xordito (CUDA)1xMeshLib: 4.6x ordito's time, geometric mean over 2 functions; slower than ordito in 2MeshLib4.6x (2)PyTorch3D (CUDA): 6.7x ordito's time, geometric mean over 1 functions; slower than ordito in 1PyTorch3D (CUDA)6.7x (1)Open3D: 7.9x ordito's time, geometric mean over 1 functions; slower than ordito in 1Open3D7.9x (1)MeshLab: 28x ordito's time, geometric mean over 2 functions; slower than ordito in 2MeshLab28x (2)libigl: 76x ordito's time, geometric mean over 1 functions; slower than ordito in 1libigl76x (1)PyVista: 134x ordito's time, geometric mean over 2 functions; slower than ordito in 2PyVista134x (2)trimesh: 223x ordito's time, geometric mean over 3 functions; slower than ordito in 3trimesh223x (3)
Time relative to ordito (CUDA), geometric mean over the vertices 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
MeshLib 4.6x 2 2
PyTorch3D (CUDA) 6.7x 1 1
Open3D 7.9x 1 1
MeshLab 28x 2 2
libigl 76x 1 1
PyVista 134x 2 2
trimesh 223x 3 3

mean_vertex_normals

0.1x1x10x100x1000xordito (CUDA): 132.8 µs, 1x ordito's timeordito (CUDA)1x · 132.8 µsMeshLab: 23.53 ms, 177x ordito's timeMeshLab177x · 23.53 msPyVista: 68.70 ms, 517x ordito's timePyVista517x · 68.70 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 132.8 µs 1x
MeshLab 23.53 ms 177x
PyVista 68.70 ms 517x
All inputs
Input ordito (CUDA) MeshLab PyVista
sphere_small 54.1 µs
bunny_decimated 46.3 µs 297.6 µs 1.54 ms
bunny 44.2 µs 1.04 ms 6.02 ms
dragon 132.8 µs 23.53 ms 68.70 ms
happy_buddha 156.9 µs 34.04 ms 96.53 ms
lucy 5.10 ms 978.35 ms 3.072 s

vertex_normals

0.1x1x10x100x1000xordito (CUDA): 35.2 µs, 1x ordito's timeordito (CUDA)1x · 35.2 µsMeshLib: 124.9 µs, 3.5x ordito's timeMeshLib3.5x · 124.9 µsPyTorch3D (CUDA): 671.0 µs, 19x ordito's timePyTorch3D (CUDA)19x · 671.0 µsOpen3D: 844.1 µs, 24x ordito's timeOpen3D24x · 844.1 µsMeshLab: 1.27 ms, 36x ordito's timeMeshLab36x · 1.27 mstrimesh: 23.02 ms, 654x ordito's timetrimesh654x · 23.02 ms
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 35.2 µs 1x
MeshLib 124.9 µs 3.5x
PyTorch3D (CUDA) 671.0 µs 19x
Open3D 844.1 µs 24x
MeshLab 1.27 ms 36x
trimesh 23.02 ms 654x
All inputs
Input ordito (CUDA) MeshLab MeshLib Open3D PyTorch3D (CUDA) trimesh
sphere_med 35.2 µs 1.27 ms 124.9 µs 844.1 µs 671.0 µs 23.02 ms
fan_hub 301.3 µs 1.19 ms 724.8 µs 776.6 µs 718.1 µs 25.23 ms

vertex_defects

0.1x1x10x100x1000xordito (CUDA): 57.8 µs, 1x ordito's timeordito (CUDA)1x · 57.8 µsMeshLib: 235.8 µs, 4.1x ordito's timeMeshLib4.1x · 235.8 µsPyVista: 6.93 ms, 120x ordito's timePyVista120x · 6.93 mslibigl: 7.03 ms, 122x ordito's timelibigl122x · 7.03 mstrimesh: 18.48 ms, 320x ordito's timetrimesh320x · 18.48 ms
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 57.8 µs 1x
MeshLib 235.8 µs 4.1x
PyVista 6.93 ms 120x
libigl 7.03 ms 122x
trimesh 18.48 ms 320x
All inputs
Input ordito (CUDA) libigl MeshLib PyVista trimesh
sphere_med 57.8 µs 7.03 ms 235.8 µs 6.93 ms 18.48 ms
fan_hub 143.3 µs 6.86 ms 1.82 ms 6.42 ms 17.86 ms

weighted_vertex_normals

0.1x1x10x100x1000xordito (CUDA): 135.8 µs, 1x ordito's timeordito (CUDA)1x · 135.8 µstrimesh: 97.47 ms, 718x ordito's timetrimesh718x · 97.47 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 135.8 µs 1x
trimesh 97.47 ms 718x
All inputs
Input ordito (CUDA) trimesh
sphere_small 57.7 µs
bunny_decimated 42.2 µs 1.21 ms
bunny 58.9 µs 5.16 ms
dragon 135.8 µs 97.47 ms
happy_buddha 176.2 µs 131.29 ms
lucy 5.19 ms 2.914 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)
vertex_normals_precomputed fan_hub 299.2 µs