Benchmarks of ordito.voxels 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 voxels 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.76x
2
1
SciPy
3.6x
1
1
MeshLib
4.3x
4
2
trimesh
18x
6
6
libigl
18x
2
2
Open3D
46x
4
4
PyVista
76x
3
3
voxelize_mesh
dragon (871 414 faces) · divisor=64 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
636.0 µs
1x
MeshLib
109.34 ms
172x
Open3D
161.89 ms
255x
PyVista
255.97 ms
402x
trimesh
655.79 ms
1031x
All inputs
Input
ordito (CUDA)
MeshLib
Open3D
PyVista
trimesh
sphere_small divisor=64
314.8 µs
sphere_small divisor=256
385.6 µs
bunny_decimated divisor=64
345.0 µs
16.82 ms
7.08 ms
8.89 ms
58.49 ms
bunny_decimated divisor=256
411.0 µs
58.38 ms
33.79 ms
21.29 ms
1.230 s
bunny divisor=64
337.3 µs
23.65 ms
14.20 ms
25.95 ms
87.20 ms
bunny divisor=256
392.4 µs
95.18 ms
51.56 ms
50.72 ms
1.664 s
dragon divisor=64
636.0 µs
109.34 ms
161.89 ms
255.97 ms
655.79 ms
dragon divisor=256
963.3 µs
192.02 ms
249.76 ms
332.24 ms
2.818 s
happy_buddha divisor=64
697.6 µs
132.16 ms
200.11 ms
321.47 ms
819.21 ms
happy_buddha divisor=256
1.03 ms
210.17 ms
300.41 ms
412.04 ms
3.188 s
lucy divisor=64
16.70 ms
2.508 s
4.174 s
9.121 s
25.426 s
lucy divisor=256
18.26 ms
2.801 s
4.637 s
10.884 s
51.724 s
voxelize_points
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
372.7 µs
1x
Open3D
8.28 ms
22x
All inputs
Input
ordito (CUDA)
Open3D
sphere_small
357.6 µs
bunny_decimated
314.4 µs
876.2 µs
bunny
304.8 µs
1.78 ms
dragon
372.7 µs
8.28 ms
happy_buddha
385.7 µs
10.10 ms
lucy
7.06 ms
225.59 ms
voxel_down_sample
dragon (871 414 faces) · divisor=64 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
309.3 µs
1x
MeshLib
5.93 ms
19x
Open3D
7.04 ms
23x
All inputs
Input
ordito (CUDA)
MeshLib
Open3D
sphere_small divisor=64
284.0 µs
sphere_small divisor=256
316.8 µs
bunny_decimated divisor=64
227.1 µs
306.8 µs
504.9 µs
bunny_decimated divisor=256
286.8 µs
5.50 ms
748.0 µs
bunny divisor=64
228.1 µs
851.0 µs
1.05 ms
bunny divisor=256
247.1 µs
5.90 ms
4.44 ms
dragon divisor=64
309.3 µs
5.93 ms
7.04 ms
dragon divisor=256
293.5 µs
12.46 ms
18.50 ms
happy_buddha divisor=64
342.8 µs
7.09 ms
8.26 ms
happy_buddha divisor=256
330.2 µs
13.74 ms
21.92 ms
lucy divisor=64
5.30 ms
122.73 ms
237.76 ms
lucy divisor=256
2.59 ms
148.80 ms
247.49 ms
occupancy_at_points
dragon (871 414 faces) · n_queries=10000 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
24.2 µs
1x
Open3D
424.3 µs
18x
All inputs
Input
ordito (CUDA)
Open3D
sphere_small n_queries=10000
24.2 µs
sphere_small n_queries=1000000
31.7 µs
bunny_decimated n_queries=10000
27.8 µs
309.6 µs
bunny_decimated n_queries=1000000
29.6 µs
33.67 ms
bunny n_queries=10000
22.1 µs
331.6 µs
bunny n_queries=1000000
31.5 µs
38.07 ms
dragon n_queries=10000
24.2 µs
424.3 µs
dragon n_queries=1000000
31.6 µs
40.69 ms
happy_buddha n_queries=10000
24.1 µs
358.6 µs
happy_buddha n_queries=1000000
31.9 µs
43.59 ms
lucy n_queries=10000
25.6 µs
426.5 µs
lucy n_queries=1000000
37.3 µs
44.77 ms
dilate
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
MeshLib
147.2 µs
0.44x
ordito (CUDA)
331.5 µs
1x
trimesh
1.59 ms
4.8x
All inputs
Input
ordito (CUDA)
MeshLib
trimesh
sphere_small
346.0 µs
bunny_decimated
322.7 µs
100.4 µs
1.50 ms
bunny
331.9 µs
255.4 µs
1.39 ms
dragon
331.5 µs
147.2 µs
1.59 ms
happy_buddha
328.0 µs
171.3 µs
1.51 ms
lucy
322.2 µs
173.0 µs
1.33 ms
fill_cavities
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
460.9 µs
1x
trimesh
3.56 ms
7.7x
All inputs
Input
ordito (CUDA)
trimesh
sphere_small
503.6 µs
bunny_decimated
481.1 µs
4.46 ms
bunny
459.2 µs
4.73 ms
dragon
460.9 µs
3.56 ms
happy_buddha
457.9 µs
2.90 ms
lucy
452.6 µs
2.76 ms
fill_orthographic
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
447.0 µs
1x
trimesh
3.30 ms
7.4x
All inputs
Input
ordito (CUDA)
trimesh
sphere_small
471.7 µs
bunny_decimated
480.3 µs
3.87 ms
bunny
469.1 µs
3.87 ms
dragon
447.0 µs
3.30 ms
happy_buddha
440.9 µs
2.77 ms
lucy
455.8 µs
2.34 ms
to_boxes
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
715.7 µs
1x
PyVista
16.58 ms
23x
trimesh
21.54 ms
30x
All inputs
Input
ordito (CUDA)
PyVista
trimesh
sphere_small
776.5 µs
bunny_decimated
691.4 µs
13.26 ms
20.28 ms
bunny
685.9 µs
13.55 ms
19.74 ms
dragon
715.7 µs
16.58 ms
21.54 ms
happy_buddha
719.4 µs
15.55 ms
23.06 ms
lucy
670.6 µs
10.79 ms
15.47 ms
voxel_corners
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
588.4 µs
1x
libigl
4.42 ms
7.5x
All inputs
Input
ordito (CUDA)
libigl
sphere_small
608.7 µs
bunny_decimated
606.3 µs
3.77 ms
bunny
586.3 µs
4.00 ms
dragon
588.4 µs
4.42 ms
happy_buddha
623.7 µs
4.39 ms
lucy
569.5 µs
2.84 ms
splat_onto_grid
sphere_large (327 680 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
119.8 µs
1x
PyTorch3D (CUDA)
137.4 µs
1.1x
All inputs
Input
ordito (CUDA)
PyTorch3D (CUDA)
sphere_small
51.3 µs
121.7 µs
sphere_med
58.5 µs
114.3 µs
sphere_large
119.8 µs
137.4 µs
sample_grid_trilinear
sphere_large (327 680 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
PyTorch3D (CUDA)
13.5 µs
0.35x
ordito (CUDA)
39.0 µs
1x
All inputs
Input
ordito (CUDA)
PyTorch3D (CUDA)
sphere_small
41.6 µs
13.0 µs
sphere_med
37.4 µs
12.4 µs
sphere_large
39.0 µs
13.5 µs
grid_points
resolution=64 · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
25.4 µs
1x
libigl
1.31 ms
52x
PyVista
2.80 ms
110x
All inputs
Input
ordito (CUDA)
libigl
PyVista
resolution=64
25.4 µs
1.31 ms
2.80 ms
resolution=256
150.7 µs
erode
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
MeshLib
91.0 µs
0.10x
ordito (CUDA)
896.3 µs
1x
All inputs
Input
ordito (CUDA)
MeshLib
sphere_small
329.6 µs
bunny_decimated
314.7 µs
123.9 µs
bunny
327.5 µs
137.0 µs
dragon
896.3 µs
91.0 µs
happy_buddha
314.6 µs
120.4 µs
lucy
341.5 µs
93.0 µs
closing
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
701.2 µs
1x
trimesh
2.96 ms
4.2x
All inputs
Input
ordito (CUDA)
trimesh
sphere_small
671.3 µs
bunny_decimated
640.0 µs
2.78 ms
bunny
636.2 µs
3.18 ms
dragon
701.2 µs
2.96 ms
happy_buddha
644.6 µs
2.02 ms
lucy
742.9 µs
2.16 ms
opening
dragon (871 414 faces) · time relative to ordito, log scaleValues
Library
Median
Relative to ordito
ordito (CUDA)
639.2 µs
1x
SciPy
2.40 ms
3.8x
All inputs
Input
ordito (CUDA)
SciPy
sphere_small
660.7 µs
bunny_decimated
629.7 µs
2.90 ms
bunny
661.2 µs
2.91 ms
dragon
639.2 µs
2.40 ms
happy_buddha
623.2 µs
1.96 ms
lucy
671.8 µs
1.79 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: