Benchmarks of ordito.triangles 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 triangles 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
PyTorch3D (CUDA)
1.2x
1
1
MeshLib
16x
2
2
MeshLab
67x
2
2
Open3D
69x
1
1
NumPy
504x
1
1
libigl
543x
5
5
PyVista
553x
4
4
potpourri3d
943x
1
1
trimesh
1304x
5
5
face_normals_and_areas
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
25.9 µs
1x
PyTorch3D (CUDA)
36.4 µs
1.4x
MeshLib
1.35 ms
52x
Open3D
5.37 ms
208x
libigl
8.71 ms
337x
MeshLab
12.86 ms
497x
PyVista
57.01 ms
2204x
potpourri3d
90.73 ms
3508x
trimesh
98.12 ms
3794x
All inputs
Input
ordito (CUDA)
libigl
MeshLab
MeshLib
Open3D
potpourri3d
PyTorch3D (CUDA)
PyVista
trimesh
sphere_small
22.9 µs
bunny_decimated
26.2 µs
168.8 µs
189.4 µs
36.3 µs
84.2 µs
951.9 µs
22.0 µs
1.60 ms
710.6 µs
bunny
21.9 µs
754.8 µs
581.4 µs
103.3 µs
416.8 µs
5.42 ms
19.2 µs
5.01 ms
3.54 ms
dragon
25.9 µs
8.71 ms
12.86 ms
1.35 ms
5.37 ms
90.73 ms
36.4 µs
57.01 ms
98.12 ms
happy_buddha
27.3 µs
8.26 ms
16.74 ms
1.61 ms
7.57 ms
110.78 ms
41.0 µs
72.53 ms
129.34 ms
lucy
650.8 µs
520.97 ms
526.46 ms
165.87 ms
280.94 ms
3.786 s
1.07 ms
2.431 s
2.941 s
face_angles
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
28.8 µs
1x
libigl
88.42 ms
3065x
PyVista
136.17 ms
4720x
trimesh
235.56 ms
8166x
All inputs
Input
ordito (CUDA)
libigl
PyVista
trimesh
sphere_small
23.4 µs
bunny_decimated
25.1 µs
3.05 ms
2.97 ms
2.48 ms
bunny
32.0 µs
6.25 ms
9.21 ms
11.68 ms
dragon
28.8 µs
88.42 ms
136.17 ms
235.56 ms
happy_buddha
40.1 µs
110.90 ms
162.49 ms
279.69 ms
lucy
567.9 µs
3.406 s
4.785 s
7.027 s
face_quality
saddle (34 848 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
16.9 µs
1x
MeshLab
535.1 µs
32x
PyVista
2.17 ms
128x
libigl
39.90 ms
2358x
All inputs
Input
ordito (CUDA)
libigl
MeshLab
PyVista
saddle
16.9 µs
39.90 ms
535.1 µs
2.17 ms
saddle_graded
16.1 µs
41.12 ms
553.1 µs
2.19 ms
points_to_barycentric
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
22.0 µs
1x
libigl
99.31 ms
4511x
trimesh
128.69 ms
5845x
All inputs
Input
ordito (CUDA)
libigl
trimesh
sphere_small
20.8 µs
bunny_decimated
17.3 µs
827.1 µs
1.20 ms
bunny
16.1 µs
4.16 ms
5.41 ms
dragon
22.0 µs
99.31 ms
128.69 ms
happy_buddha
28.1 µs
117.87 ms
168.42 ms
lucy
780.7 µs
3.807 s
4.096 s
face_centroids
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
26.5 µs
1x
libigl
12.22 ms
461x
PyVista
48.80 ms
1840x
All inputs
Input
ordito (CUDA)
libigl
PyVista
sphere_small
28.6 µs
bunny_decimated
23.1 µs
187.5 µs
1.04 ms
bunny
22.7 µs
883.9 µs
3.76 ms
dragon
26.5 µs
12.22 ms
48.80 ms
happy_buddha
33.5 µs
15.19 ms
63.82 ms
lucy
575.0 µs
935.05 ms
2.318 s
barycentric_to_points
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
21.1 µs
1x
trimesh
88.36 ms
4179x
All inputs
Input
ordito (CUDA)
trimesh
sphere_small
20.3 µs
bunny_decimated
25.6 µs
1.52 ms
bunny
21.5 µs
6.16 ms
dragon
21.1 µs
88.36 ms
happy_buddha
26.4 µs
103.63 ms
lucy
773.8 µs
2.762 s
face_signed_volumes
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
22.2 µs
1x
NumPy
52.56 ms
2363x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
31.3 µs
bunny_decimated
17.9 µs
339.5 µs
bunny
22.2 µs
1.89 ms
dragon
22.2 µs
52.56 ms
happy_buddha
37.3 µs
65.25 ms
lucy
418.4 µs
2.049 s
face_nondegenerate_mask
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
25.9 µs
1x
trimesh
162.11 ms
6270x
All inputs
Input
ordito (CUDA)
trimesh
sphere_small
30.4 µs
bunny_decimated
25.2 µs
2.12 ms
bunny
22.3 µs
9.19 ms
dragon
25.9 µs
162.11 ms
happy_buddha
35.7 µs
203.54 ms
lucy
356.3 µs
5.682 s
corner_normals
dragon (871 414 faces) · creased=False · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
248.4 µs
1x
MeshLib
4.62 ms
19x
All inputs
Input
ordito (CUDA)
MeshLib
sphere_small creased=False
200.9 µs
sphere_small creased=True
163.2 µs
bunny creased=False
138.5 µs
320.2 µs
bunny creased=True
198.5 µs
395.8 µs
dragon creased=False
248.4 µs
4.62 ms
dragon creased=True
499.9 µs
5.23 ms
happy_buddha creased=False
342.4 µs
21.41 ms
happy_buddha creased=True
632.1 µs
22.38 ms
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: