Skip to content

reconstruction

Benchmarks of ordito.reconstruction 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)1xOpen3D: 2.4x ordito's time, geometric mean over 1 functions; slower than ordito in 1Open3D2.4x (1)SciPy: 4.4x ordito's time, geometric mean over 1 functions; slower than ordito in 1SciPy4.4x (1)MeshLib: 4.7x ordito's time, geometric mean over 4 functions; slower than ordito in 4MeshLib4.7x (4)MeshLab: 25x ordito's time, geometric mean over 2 functions; slower than ordito in 2MeshLab25x (2)PyVista: 54x ordito's time, geometric mean over 1 functions; slower than ordito in 1PyVista54x (1)libigl: 118x ordito's time, geometric mean over 1 functions; slower than ordito in 1libigl118x (1)
Time relative to ordito (CUDA), geometric mean over the reconstruction 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
Open3D 2.4x 1 1
SciPy 4.4x 1 1
MeshLib 4.7x 4 4
MeshLab 25x 2 2
PyVista 54x 1 1
libigl 118x 1 1

delaunay_triangulation

0.1x1x10x100xordito (CUDA): 1.39 ms, 1x ordito's timeordito (CUDA)1x · 1.39 msSciPy: 3.42 ms, 2.5x ordito's timeSciPy2.5x · 3.42 msPyVista: 27.67 ms, 20x ordito's timePyVista20x · 27.67 ms
n_points=2000 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 1.39 ms 1x
SciPy 3.42 ms 2.5x
PyVista 27.67 ms 20x
All inputs
Input ordito (CUDA) PyVista SciPy
n_points=2000 1.39 ms 27.67 ms 3.42 ms
n_points=20000 5.69 ms 819.89 ms 45.49 ms

triangulate_point_cloud

0.1x1x10xordito (CUDA): 122.15 ms, 1x ordito's timeordito (CUDA)1x · 122.15 msMeshLib: 332.46 ms, 2.7x ordito's timeMeshLib2.7x · 332.46 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 122.15 ms 1x
MeshLib 332.46 ms 2.7x
All inputs
Input ordito (CUDA) MeshLib
sphere_small 1.19 ms
bunny_decimated 28.04 ms 6.84 ms
bunny 46.78 ms 29.83 ms
dragon 122.15 ms 332.46 ms
happy_buddha 150.29 ms 412.25 ms
lucy 506.82 ms 8.987 s

triangulate_point_cloud_unoriented

0.1x1x10xordito (CUDA): 148.60 ms, 1x ordito's timeordito (CUDA)1x · 148.60 msMeshLib: 567.47 ms, 3.8x ordito's timeMeshLib3.8x · 567.47 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 148.60 ms 1x
MeshLib 567.47 ms 3.8x
All inputs
Input ordito (CUDA) MeshLib
sphere_small 1.41 ms
bunny_decimated 22.87 ms 11.98 ms
bunny 38.41 ms 42.53 ms
dragon 148.60 ms 567.47 ms
happy_buddha 231.89 ms 706.68 ms
lucy 558.14 ms 17.717 s

ball_pivoting

0.01x0.1x1x10xOpen3D: 8.165 s, 0.82x ordito's timeOpen3D0.82x · 8.165 sordito (CUDA): 9.926 s, 1x ordito's timeordito (CUDA)1x · 9.926 sMeshLab: 47.086 s, 4.7x ordito's timeMeshLab4.7x · 47.086 s
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 8.165 s 0.82x
ordito (CUDA) 9.926 s 1x
MeshLab 47.086 s 4.7x
All inputs
Input ordito (CUDA) MeshLab Open3D
sphere_small 8.21 ms
bunny_decimated 22.48 ms 31.21 ms 98.25 ms
bunny 38.10 ms 129.69 ms 432.86 ms
dragon 9.926 s 47.086 s 8.165 s
happy_buddha 10.216 s 169.879 s 9.740 s
lucy 99.771 s > 10 min 194.767 s

screened_poisson

0.1x1x10xordito (CUDA): 8.27 ms, 1x ordito's timeordito (CUDA)1x · 8.27 msMeshLib: 32.48 ms, 3.9x ordito's timeMeshLib3.9x · 32.48 ms
dragon (871 414 faces) · depth=7 · method=dense · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 8.27 ms 1x
MeshLib 32.48 ms 3.9x
All inputs
Input ordito (CUDA) MeshLib
sphere_small depth=7 method=dense 6.28 ms
sphere_small depth=7 method=adaptive 6.37 ms
sphere_small depth=7 method=octree 14.13 ms
bunny_decimated depth=7 method=dense 6.81 ms 122.01 ms
bunny_decimated depth=9 method=dense 182.47 ms 5.540 s
bunny_decimated depth=7 method=adaptive 6.00 ms
bunny_decimated depth=9 method=adaptive 35.38 ms
bunny_decimated depth=10 method=adaptive 157.40 ms
bunny_decimated depth=7 method=octree 14.14 ms
bunny_decimated depth=9 method=octree 150.94 ms
bunny depth=7 method=dense 7.58 ms 80.65 ms
bunny depth=9 method=dense 218.79 ms 3.796 s
bunny depth=7 method=adaptive 6.11 ms
bunny depth=9 method=adaptive 35.45 ms
bunny depth=10 method=adaptive 162.40 ms
bunny depth=7 method=octree 14.85 ms
bunny depth=9 method=octree 127.01 ms
dragon depth=7 method=dense 8.27 ms 32.48 ms
dragon depth=9 method=dense 257.27 ms 1.064 s
dragon depth=7 method=adaptive 5.93 ms
dragon depth=9 method=adaptive 21.83 ms
dragon depth=10 method=adaptive 124.51 ms
dragon depth=7 method=octree 12.69 ms
dragon depth=9 method=octree 119.61 ms
happy_buddha depth=7 method=dense 8.48 ms 21.16 ms
happy_buddha depth=9 method=dense 280.43 ms 668.92 ms
happy_buddha depth=7 method=adaptive 5.50 ms
happy_buddha depth=9 method=adaptive 17.91 ms
happy_buddha depth=10 method=adaptive 103.94 ms
happy_buddha depth=7 method=octree 12.37 ms
happy_buddha depth=9 method=octree 112.60 ms
lucy depth=7 method=dense 58.62 ms 11.02 ms
lucy depth=9 method=dense 412.86 ms 319.94 ms
lucy depth=7 method=adaptive 18.34 ms
lucy depth=9 method=adaptive 21.92 ms
lucy depth=10 method=adaptive 90.53 ms
lucy depth=7 method=octree 20.92 ms
lucy depth=9 method=octree 124.13 ms

resample_uniform

0.1x1x10x100x1000xordito (CUDA): 5.06 ms, 1x ordito's timeordito (CUDA)1x · 5.06 msMeshLib: 106.78 ms, 21x ordito's timeMeshLib21x · 106.78 msMeshLab: 956.78 ms, 189x ordito's timeMeshLab189x · 956.78 mslibigl: 1.169 s, 231x ordito's timelibigl231x · 1.169 s
dragon (871 414 faces) · cell_fraction=0.02 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 5.06 ms 1x
MeshLib 106.78 ms 21x
MeshLab 956.78 ms 189x
libigl 1.169 s 231x
All inputs
Input ordito (CUDA) libigl MeshLab MeshLib
sphere_small cell_fraction=0.02 1.04 ms
sphere_small cell_fraction=0.01 1.28 ms
bunny_decimated cell_fraction=0.02 2.35 ms 29.18 ms 72.10 ms 16.00 ms
bunny_decimated cell_fraction=0.01 3.18 ms 38.79 ms 128.01 ms 44.29 ms
bunny cell_fraction=0.02 3.32 ms 102.57 ms 142.10 ms 21.20 ms
bunny cell_fraction=0.01 3.67 ms 109.45 ms 212.92 ms 48.86 ms
dragon cell_fraction=0.02 5.06 ms 1.169 s 956.78 ms 106.78 ms
dragon cell_fraction=0.01 4.74 ms 1.174 s 1.053 s 140.86 ms
happy_buddha cell_fraction=0.02 4.81 ms 1.457 s 1.211 s 162.42 ms
happy_buddha cell_fraction=0.01 4.33 ms 1.497 s 1.443 s 196.05 ms
lucy cell_fraction=0.02 59.94 ms 46.963 s 33.899 s 3.251 s
lucy cell_fraction=0.01 59.26 ms 47.296 s 32.533 s 3.258 s