Benchmarks of ordito.polyline 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 polyline 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
trimesh
0.75x
1
0
MeshLib
6.4x
6
5
PyVista
20x
4
4
polyline_length
rim_long (131 072 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
39.4 µs
1x
MeshLib
216.1 µs
5.5x
PyVista
765.6 µs
19x
All inputs
Input
ordito (CUDA)
MeshLib
PyVista
saddle_small
32.7 µs
2.9 µs
113.7 µs
saddle
33.1 µs
3.6 µs
114.9 µs
rim_long
39.4 µs
216.1 µs
765.6 µs
polyline_downsample
rim_long (131 072 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
126.2 µs
1x
MeshLib
24.39 ms
193x
All inputs
Input
ordito (CUDA)
MeshLib
saddle_small
80.8 µs
68.9 µs
saddle
106.8 µs
195.6 µs
rim_long
126.2 µs
24.39 ms
polyline_simplify
rim_long (131 072 faces) · tolerance_fraction=0.001 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
673.2 µs
1x
PyVista
16.07 ms
24x
MeshLib
29.14 ms
43x
All inputs
Input
ordito (CUDA)
MeshLib
PyVista
saddle_small tolerance_fraction=0.001
107.3 µs
121.6 µs
139.5 µs
saddle_small tolerance_fraction=0.1
103.8 µs
117.2 µs
139.6 µs
saddle tolerance_fraction=0.001
105.8 µs
205.7 µs
197.0 µs
saddle tolerance_fraction=0.1
88.8 µs
221.5 µs
194.9 µs
rim_long tolerance_fraction=0.001
673.2 µs
29.14 ms
16.07 ms
rim_long tolerance_fraction=0.1
570.6 µs
28.31 ms
16.47 ms
polyline_point_distance
saddle (34 848 faces) · n_queries=4096 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
34.7 µs
1x
MeshLib
19.61 ms
566x
PyVista
39.69 ms
1145x
All inputs
Input
ordito (CUDA)
MeshLib
PyVista
saddle_small n_queries=4096
40.2 µs
19.25 ms
22.73 ms
saddle_small n_queries=65536
54.3 µs
307.08 ms
358.62 ms
saddle n_queries=4096
34.7 µs
19.61 ms
39.69 ms
saddle n_queries=65536
83.8 µs
321.03 ms
626.55 ms
rim_long n_queries=4096
455.4 µs
42.07 ms
rim_long n_queries=65536
6.64 ms
617.54 ms
polyline_triangulate
sphere_small (5 120 faces) · n_vertices=64 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
MeshLib
117.9 µs
0.65x
PyVista
155.3 µs
0.86x
ordito (CUDA)
180.8 µs
1x
All inputs
Input
ordito (CUDA)
MeshLib
PyVista
sphere_small n_vertices=64
180.8 µs
117.9 µs
155.3 µs
sphere_small n_vertices=1024
922.2 µs
1.59 ms
6.31 ms
triangulate_polygon
ring_size=64 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
trimesh
52.4 µs
0.29x
ordito (CUDA)
181.7 µs
1x
All inputs
Input
ordito (CUDA)
trimesh
ring_size=64
181.7 µs
52.4 µs
ring_size=1024
857.9 µs
1.69 ms
polyline_upsample
rim_long (131 072 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
56.6 µs
1x
MeshLib
25.54 ms
451x
All inputs
Input
ordito (CUDA)
MeshLib
saddle_small
59.4 µs
49.4 µs
saddle
60.6 µs
99.2 µs
rim_long
56.6 µs
25.54 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: