Skip to content

transform

Benchmarks of ordito.transform 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.1x1x10x100xordito (CUDA): the reference, 1xordito (CUDA)1xtrimesh: 12x ordito's time, geometric mean over 4 functions; slower than ordito in 2trimesh12x (4)Open3D: 56x ordito's time, geometric mean over 1 functions; slower than ordito in 1Open3D56x (1)PyVista: 98x ordito's time, geometric mean over 2 functions; slower than ordito in 2PyVista98x (2)
Time relative to ordito (CUDA), geometric mean over the transform 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 12x 4 2
Open3D 56x 1 1
PyVista 98x 2 2

transform_points

0.1x1x10x100x1000xordito (CUDA): 20.1 µs, 1x ordito's timeordito (CUDA)1x · 20.1 µsOpen3D: 2.99 ms, 148x ordito's timeOpen3D148x · 2.99 msPyVista: 3.10 ms, 154x ordito's timePyVista154x · 3.10 mstrimesh: 6.07 ms, 301x ordito's timetrimesh301x · 6.07 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 20.1 µs 1x
Open3D 2.99 ms 148x
PyVista 3.10 ms 154x
trimesh 6.07 ms 301x
All inputs
Input ordito (CUDA) Open3D PyVista trimesh
sphere_small 26.9 µs
bunny_decimated 24.2 µs 49.1 µs 330.2 µs 67.1 µs
bunny 19.7 µs 198.6 µs 475.4 µs 402.8 µs
dragon 20.1 µs 2.99 ms 3.10 ms 6.07 ms
happy_buddha 25.4 µs 3.58 ms 4.29 ms 6.48 ms
lucy 246.3 µs 312.60 ms 461.06 ms 273.92 ms

transform_mesh

0.1x1x10x100x1000x10000xordito (CUDA): 33.5 µs, 1x ordito's timeordito (CUDA)1x · 33.5 µstrimesh: 119.75 ms, 3575x ordito's timetrimesh3575x · 119.75 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 33.5 µs 1x
trimesh 119.75 ms 3575x
All inputs
Input ordito (CUDA) trimesh
sphere_small 36.5 µs
bunny_decimated 30.8 µs 1.34 ms
bunny 27.4 µs 5.54 ms
dragon 33.5 µs 119.75 ms
happy_buddha 45.4 µs 115.78 ms
lucy 708.3 µs 3.239 s

transform_normals

0.1x1x10x100x1000xordito (CUDA): 61.5 µs, 1x ordito's timeordito (CUDA)1x · 61.5 µsPyVista: 7.30 ms, 119x ordito's timePyVista119x · 7.30 ms
dragon (871 414 faces) · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 61.5 µs 1x
PyVista 7.30 ms 119x
All inputs
Input ordito (CUDA) PyVista
sphere_small 65.1 µs
bunny_decimated 46.7 µs 421.3 µs
bunny 55.7 µs 825.9 µs
dragon 61.5 µs 7.30 ms
happy_buddha 64.1 µs 8.91 ms
lucy 293.8 µs 655.39 ms

translation_matrix

0.01x0.1x1xtrimesh: 13.4 µs, 0.84x ordito's timetrimesh0.84x · 13.4 µsordito (CUDA): 16.0 µs, 1x ordito's timeordito (CUDA)1x · 16.0 µs
time relative to ordito, log scale
Values
Library Median Relative to ordito
trimesh 13.4 µs 0.84x
ordito (CUDA) 16.0 µs 1x
All inputs
Input ordito (CUDA) trimesh
— 16.0 µs 13.4 µs

scale_matrix

0.01x0.1x1xtrimesh: 7.5 µs, 0.31x ordito's timetrimesh0.31x · 7.5 µsordito (CUDA): 24.5 µs, 1x ordito's timeordito (CUDA)1x · 24.5 µs
time relative to ordito, log scale
Values
Library Median Relative to ordito
trimesh 7.5 µs 0.31x
ordito (CUDA) 24.5 µs 1x
All inputs
Input ordito (CUDA) trimesh
— 24.5 µs 7.5 µs

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:

Function Input ordito (CUDA)
transform_points_inplace lucy 237.8 µs
transform_vectors lucy 260.9 µs
normal_matrix form=device 110.6 µs
classify_transform form=device 227.0 µs
transform_scale form=device 82.0 µs
as_mat44 form=device 77.9 µs
matrix_to_numpy form=device 68.8 µs
reverses_orientation form=device 62.3 µs