Benchmarks of ordito.proximity 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.
Time relative to ordito (CUDA), geometric mean over the proximity 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.9x
4
3
Open3D
39x
1
1
SciPy
40x
1
1
PyVista
90x
5
5
libigl
302x
2
2
MeshLab
895x
1
1
winding_number
dragon (871 414 faces) · n_queries=10000 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
1.70 ms
1x
MeshLib
199.29 ms
117x
PyVista
1.048 s
616x
libigl
3.886 s
2285x
All inputs
Input
ordito (CUDA)
libigl
MeshLib
PyVista
sphere_small n_queries=10000
235.4 µs
sphere_small n_queries=100000
973.0 µs
bunny_decimated n_queries=10000
637.0 µs
59.00 ms
55.01 ms
147.94 ms
bunny_decimated n_queries=100000
1.35 ms
112.25 ms
549.37 ms
1.419 s
bunny n_queries=10000
544.0 µs
229.88 ms
65.87 ms
269.35 ms
bunny n_queries=100000
1.69 ms
338.19 ms
657.03 ms
2.529 s
dragon n_queries=10000
1.70 ms
3.886 s
199.29 ms
1.048 s
dragon n_queries=100000
5.55 ms
4.286 s
1.992 s
8.768 s
happy_buddha n_queries=10000
1.64 ms
4.971 s
220.98 ms
1.185 s
happy_buddha n_queries=100000
4.41 ms
5.299 s
2.186 s
9.821 s
lucy n_queries=10000
30.52 ms
213.893 s
189.56 ms
33.890 s
lucy n_queries=100000
50.38 ms
212.561 s
1.852 s
216.334 s
closest_point_on_mesh
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
3.80 ms
1x
MeshLib
6.47 ms
1.7x
PyVista
1.167 s
308x
All inputs
Input
ordito (CUDA)
MeshLib
PyVista
sphere_small
1.34 ms
bunny_decimated
1.00 ms
1.40 ms
120.75 ms
bunny
1.80 ms
2.68 ms
257.02 ms
dragon
3.80 ms
6.47 ms
1.167 s
happy_buddha
3.90 ms
6.75 ms
1.262 s
lucy
67.93 ms
45.95 ms
43.381 s
closest_point_on_edges
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
8.98 ms
1x
PyVista
45.52 ms
5.1x
All inputs
Input
ordito (CUDA)
PyVista
tangle_torus_small
811.7 µs
bunny_decimated
1.29 ms
31.19 ms
bunny
1.72 ms
32.93 ms
dragon
8.98 ms
45.52 ms
happy_buddha
26.64 ms
66.62 ms
lucy
76.94 ms
157.64 ms
signed_distance_on_mesh
dragon (871 414 faces) · sign_mode=parity · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
5.11 ms
1x
MeshLib
94.85 ms
19x
Open3D
281.78 ms
55x
PyVista
1.024 s
200x
libigl
1.045 s
205x
MeshLab
7.216 s
1413x
All inputs
Input
ordito (CUDA)
libigl
MeshLab
MeshLib
Open3D
PyVista
sphere_small sign_mode=parity
1.93 ms
sphere_small sign_mode=winding
2.48 ms
bunny_decimated sign_mode=parity
1.77 ms
29.35 ms
189.93 ms
10.29 ms
10.86 ms
149.17 ms
bunny_decimated sign_mode=winding
2.38 ms
44.19 ms
bunny sign_mode=parity
2.62 ms
101.06 ms
638.33 ms
14.12 ms
30.79 ms
271.89 ms
bunny sign_mode=winding
3.13 ms
145.93 ms
dragon sign_mode=parity
5.11 ms
1.045 s
7.216 s
94.85 ms
281.78 ms
1.024 s
dragon sign_mode=winding
7.93 ms
1.496 s
happy_buddha sign_mode=parity
5.55 ms
1.339 s
11.250 s
103.07 ms
344.23 ms
1.165 s
happy_buddha sign_mode=winding
8.30 ms
1.881 s
lucy sign_mode=parity
72.00 ms
44.206 s
552.890 s
4.127 s
25.324 s
34.043 s
lucy sign_mode=winding
138.54 ms
62.200 s
containing_faces_2d
rows=26 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
158.3 µs
1x
SciPy
2.48 ms
16x
PyVista
4.29 ms
27x
All inputs
Input
ordito (CUDA)
PyVista
SciPy
rows=26
158.3 µs
4.29 ms
2.48 ms
rows=80
241.5 µs
4.31 ms
8.09 ms
rows=240
351.8 µs
5.47 ms
42.28 ms
mesh_to_mesh_distance
dragon (871 414 faces) · offset=1.2 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
MeshLib
612.4 µs
0.28x
ordito (CUDA)
2.16 ms
1x
All inputs
Input
ordito (CUDA)
MeshLib
sphere_small offset=1.2
322.2 µs
sphere_small offset=2.0
579.4 µs
bunny_decimated offset=1.2
813.2 µs
277.7 µs
bunny_decimated offset=2.0
663.3 µs
337.3 µs
bunny offset=1.2
1.38 ms
860.5 µs
bunny offset=2.0
1.31 ms
1.16 ms
dragon offset=1.2
2.16 ms
612.4 µs
dragon offset=2.0
1.65 ms
153.4 µs
happy_buddha offset=1.2
1.99 ms
1.17 ms
happy_buddha offset=2.0
1.87 ms
849.0 µs
lucy offset=1.2
47.99 ms
2.16 ms
lucy offset=2.0
45.64 ms
819.8 µ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: