Benchmarks of ordito.reduce 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 reduce 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)
0.89x
1
0
NumPy
3.6x
15
10
MeshLab
71x
1
1
PyVista
477x
1
1
sum_bool
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
30.1 µs
1x
NumPy
115.2 µs
3.8x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
38.9 µs
bunny_decimated
39.1 µs
3.3 µs
bunny
30.2 µs
10.5 µs
dragon
30.1 µs
115.2 µs
happy_buddha
32.1 µs
143.8 µs
lucy
44.1 µs
4.52 ms
any_bool
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
NumPy
4.2 µs
0.11x
ordito (CUDA)
38.8 µs
1x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
52.5 µs
bunny_decimated
41.2 µs
1.0 µs
bunny
31.0 µs
0.9 µs
dragon
38.8 µs
4.2 µs
happy_buddha
46.7 µs
5.3 µs
lucy
66.7 µs
1.0 µs
all_bool
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
NumPy
0.9 µs
0.02x
ordito (CUDA)
43.3 µs
1x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
56.2 µs
bunny_decimated
53.6 µs
1.0 µs
bunny
33.1 µs
0.9 µs
dragon
43.3 µs
0.9 µs
happy_buddha
51.8 µs
1.2 µs
lucy
71.8 µs
23.2 µs
sum_scalar
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
51.1 µs
1x
NumPy
66.2 µs
1.3x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
54.2 µs
bunny_decimated
45.1 µs
2.2 µs
bunny
53.6 µs
6.8 µs
dragon
51.1 µs
66.2 µs
happy_buddha
50.7 µs
107.3 µs
lucy
86.0 µs
4.82 ms
sum_vec3
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
51.4 µs
1x
NumPy
4.43 ms
86x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
52.0 µs
bunny_decimated
50.8 µs
83.5 µs
bunny
62.8 µs
390.2 µs
dragon
51.4 µs
4.43 ms
happy_buddha
55.4 µs
5.91 ms
lucy
167.3 µs
143.32 ms
mean_vec3
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
85.0 µs
1x
NumPy
4.49 ms
53x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
51.5 µs
bunny_decimated
84.7 µs
85.5 µs
bunny
59.9 µs
365.5 µs
dragon
85.0 µs
4.49 ms
happy_buddha
79.6 µs
5.50 ms
lucy
199.8 µs
143.82 ms
weighted_sum
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
PyTorch3D (CUDA)
36.9 µs
0.69x
ordito (CUDA)
53.2 µs
1x
NumPy
455.4 µs
8.6x
PyVista
48.45 ms
910x
All inputs
Input
ordito (CUDA)
NumPy
PyTorch3D (CUDA)
PyVista
sphere_small
49.1 µs
bunny_decimated
49.4 µs
7.3 µs
38.2 µs
1.09 ms
bunny
40.9 µs
20.3 µs
34.2 µs
4.08 ms
dragon
53.2 µs
455.4 µs
36.9 µs
48.45 ms
happy_buddha
51.8 µs
556.9 µs
36.8 µs
65.81 ms
lucy
191.7 µs
39.21 ms
327.8 µs
1.864 s
scatter_sum
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
79.6 µs
1x
NumPy
8.17 ms
103x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
73.9 µs
bunny_decimated
70.2 µs
61.1 µs
bunny
64.7 µs
366.6 µs
dragon
79.6 µs
8.17 ms
happy_buddha
105.3 µs
10.82 ms
lucy
1.39 ms
476.99 ms
segment_sum
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
63.9 µs
1x
NumPy
5.58 ms
87x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
50.6 µs
bunny_decimated
38.9 µs
103.0 µs
bunny
43.0 µs
369.1 µs
dragon
63.9 µs
5.58 ms
happy_buddha
75.3 µs
7.11 ms
lucy
1.71 ms
175.14 ms
minmax_scalar
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
NumPy
47.4 µs
0.83x
ordito (CUDA)
57.4 µs
1x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
51.6 µs
bunny_decimated
46.9 µs
3.2 µs
bunny
57.1 µs
5.6 µs
dragon
57.4 µs
47.4 µs
happy_buddha
65.5 µs
98.0 µs
lucy
139.4 µs
3.87 ms
min_scalar
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
NumPy
23.7 µs
0.41x
ordito (CUDA)
58.5 µs
1x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
63.1 µs
bunny_decimated
65.3 µs
1.7 µs
bunny
51.0 µs
2.8 µs
dragon
58.5 µs
23.7 µs
happy_buddha
64.7 µs
41.9 µs
lucy
105.1 µs
1.91 ms
minmax_global_2d
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
72.9 µs
1x
NumPy
303.8 µs
4.2x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
70.3 µs
bunny_decimated
74.4 µs
4.2 µs
bunny
50.3 µs
10.7 µs
dragon
72.9 µs
303.8 µs
happy_buddha
54.6 µs
409.9 µs
lucy
316.4 µs
19.04 ms
sum_axis0
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
48.6 µs
1x
NumPy
4.47 ms
92x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
40.1 µs
bunny_decimated
30.5 µs
83.0 µs
bunny
30.9 µs
383.8 µs
dragon
48.6 µs
4.47 ms
happy_buddha
72.1 µs
5.57 ms
lucy
855.8 µs
143.48 ms
max_axis1
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
19.2 µs
1x
NumPy
12.68 ms
662x
All inputs
Input
ordito (CUDA)
NumPy
sphere_small
24.1 µs
bunny_decimated
16.8 µs
233.7 µs
bunny
18.4 µs
1.03 ms
dragon
19.2 µs
12.68 ms
happy_buddha
29.7 µs
15.63 ms
lucy
163.3 µs
427.77 ms
median
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
113.2 µs
1x
NumPy
673.1 µs
5.9x
MeshLab
18.68 ms
165x
All inputs
Input
ordito (CUDA)
MeshLab
NumPy
sphere_small
54.6 µs
bunny_decimated
90.8 µs
407.2 µs
45.8 µs
bunny
113.2 µs
1.97 ms
120.9 µs
dragon
113.2 µs
18.68 ms
673.1 µs
happy_buddha
127.9 µs
23.93 ms
802.9 µs
lucy
1.49 ms
1.138 s
54.15 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: