Skip to content

ray

Benchmarks of ordito.ray 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.

Measured on GPU: NVIDIA GeForce RTX 5090 · CPU: Intel Xeon w7-2495X

Summary

0.1x1x10x100x1000xordito (CUDA): the reference, 1xordito (CUDA)1xOpen3D: 1.9x ordito's time, geometric mean over 3 functions; slower than ordito in 3Open3D1.9x (3)MeshLib: 2.1x ordito's time, geometric mean over 3 functions; slower than ordito in 3MeshLib2.1x (3)PyVista: 56x ordito's time, geometric mean over 1 functions; slower than ordito in 1PyVista56x (1)trimesh: 189x ordito's time, geometric mean over 1 functions; slower than ordito in 1trimesh189x (1)
Time relative to ordito (CUDA), geometric mean over the ray 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
Open3D 1.9x 3 3
MeshLib 2.1x 3 3
PyVista 56x 1 1
trimesh 189x 1 1

intersects_first

0.1x1x10xordito (CUDA): 152.0 µs, 1x ordito's timeordito (CUDA)1x · 152.0 µsOpen3D: 235.8 µs, 1.6x ordito's timeOpen3D1.6x · 235.8 µsMeshLib: 271.7 µs, 1.8x ordito's timeMeshLib1.8x · 271.7 µs
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 152.0 µs 1x
Open3D 235.8 µs 1.6x
MeshLib 271.7 µs 1.8x
All inputs
Input ordito (CUDA) MeshLib Open3D
shells_8 118.8 µs 281.7 µs 279.5 µs
sphere_med 152.0 µs 271.7 µs 235.8 µs

intersects_any

0.1x1x10xordito (CUDA): 138.6 µs, 1x ordito's timeordito (CUDA)1x · 138.6 µsMeshLib: 311.5 µs, 2.2x ordito's timeMeshLib2.2x · 311.5 µsOpen3D: 453.5 µs, 3.3x ordito's timeOpen3D3.3x · 453.5 µs
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 138.6 µs 1x
MeshLib 311.5 µs 2.2x
Open3D 453.5 µs 3.3x
All inputs
Input ordito (CUDA) MeshLib Open3D
shells_8 114.2 µs 313.3 µs 169.6 µs
sphere_med 138.6 µs 311.5 µs 453.5 µs

intersects_location

0.1x1x10xordito (CUDA): 183.9 µs, 1x ordito's timeordito (CUDA)1x · 183.9 µsMeshLib: 318.1 µs, 1.7x ordito's timeMeshLib1.7x · 318.1 µsOpen3D: 511.3 µs, 2.8x ordito's timeOpen3D2.8x · 511.3 µs
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 183.9 µs 1x
MeshLib 318.1 µs 1.7x
Open3D 511.3 µs 2.8x
All inputs
Input ordito (CUDA) MeshLib Open3D
shells_8 172.7 µs 331.2 µs 178.4 µs
sphere_med 183.9 µs 318.1 µs 511.3 µs

longest_ray

0.1x1x10x100x1000xordito (CUDA): 144.0 µs, 1x ordito's timeordito (CUDA)1x · 144.0 µstrimesh: 15.10 ms, 105x ordito's timetrimesh105x · 15.10 ms
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 144.0 µs 1x
trimesh 15.10 ms 105x
All inputs
Input ordito (CUDA) trimesh
shells_8 115.5 µs 39.39 ms
sphere_med 144.0 µs 15.10 ms

contains_points

0.1x1x10x100xordito (CUDA): 5.33 ms, 1x ordito's timeordito (CUDA)1x · 5.33 msPyVista: 415.65 ms, 78x ordito's timePyVista78x · 415.65 ms
sphere_med (81 920 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 5.33 ms 1x
PyVista 415.65 ms 78x
All inputs
Input ordito (CUDA) PyVista
shells_8 2.75 ms 112.55 ms
sphere_med 5.33 ms 415.65 ms