Skip to content

creation

Benchmarks of ordito.creation 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.01x0.1x1x10x100x1000xOpen3D: 0.71x ordito's time, geometric mean over 7 functions; slower than ordito in 3Open3D0.71x (7)ordito (CUDA): the reference, 1xordito (CUDA)1xlibigl: 1.4x ordito's time, geometric mean over 2 functions; slower than ordito in 1libigl1.4x (2)MeshLab: 15x ordito's time, geometric mean over 8 functions; slower than ordito in 8MeshLab15x (8)MeshLib: 20x ordito's time, geometric mean over 6 functions; slower than ordito in 5MeshLib20x (6)trimesh: 44x ordito's time, geometric mean over 14 functions; slower than ordito in 14trimesh44x (14)PyTorch3D (CUDA): 111x ordito's time, geometric mean over 2 functions; slower than ordito in 2PyTorch3D (CUDA)111x (2)PyVista: 270x ordito's time, geometric mean over 5 functions; slower than ordito in 5PyVista270x (5)
Time relative to ordito (CUDA), geometric mean over the creation 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 0.71x 7 3
libigl 1.4x 2 1
MeshLab 15x 8 8
MeshLib 20x 6 5
trimesh 44x 14 14
PyTorch3D (CUDA) 111x 2 2
PyVista 270x 5 5

box

0.001x0.01x0.1x1x10xOpen3D: 0.6 µs, 0.02x ordito's timeOpen3D0.02x · 0.6 µsMeshLib: 5.7 µs, 0.21x ordito's timeMeshLib0.21x · 5.7 µsordito (CUDA): 27.1 µs, 1x ordito's timeordito (CUDA)1x · 27.1 µsMeshLab: 34.9 µs, 1.3x ordito's timeMeshLab1.3x · 34.9 µstrimesh: 92.9 µs, 3.4x ordito's timetrimesh3.4x · 92.9 µs
time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 0.6 µs 0.02x
MeshLib 5.7 µs 0.21x
ordito (CUDA) 27.1 µs 1x
MeshLab 34.9 µs 1.3x
trimesh 92.9 µs 3.4x
All inputs
Input ordito (CUDA) MeshLab MeshLib Open3D trimesh
— 27.1 µs 34.9 µs 5.7 µs 0.6 µs 92.9 µs

grid

0.01x0.1x1x10xlibigl: 7.1 µs, 0.23x ordito's timelibigl0.23x · 7.1 µsordito (CUDA): 31.1 µs, 1x ordito's timeordito (CUDA)1x · 31.1 µsMeshLab: 160.1 µs, 5.1x ordito's timeMeshLab5.1x · 160.1 µs
count=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
libigl 7.1 µs 0.23x
ordito (CUDA) 31.1 µs 1x
MeshLab 160.1 µs 5.1x
All inputs
Input ordito (CUDA) libigl MeshLab
count=32 31.1 µs 7.1 µs 160.1 µs
count=512 36.7 µs 7.52 ms 43.51 ms

sphere_cap

0.1x1x10xordito (CUDA): 30.5 µs, 1x ordito's timeordito (CUDA)1x · 30.5 µsMeshLab: 164.9 µs, 5.4x ordito's timeMeshLab5.4x · 164.9 µs
subdivisions=3 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 30.5 µs 1x
MeshLab 164.9 µs 5.4x
All inputs
Input ordito (CUDA) MeshLab
subdivisions=3 30.5 µs 164.9 µs
subdivisions=6 35.2 µs 12.03 ms

icosphere

0.1x1x10x100x1000xordito (CUDA): 47.2 µs, 1x ordito's timeordito (CUDA)1x · 47.2 µstrimesh: 433.4 µs, 9.2x ordito's timetrimesh9.2x · 433.4 µsMeshLab: 2.10 ms, 44x ordito's timeMeshLab44x · 2.10 msPyTorch3D (CUDA): 5.11 ms, 108x ordito's timePyTorch3D (CUDA)108x · 5.11 ms
subdivisions=3 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 47.2 µs 1x
trimesh 433.4 µs 9.2x
MeshLab 2.10 ms 44x
PyTorch3D (CUDA) 5.11 ms 108x
All inputs
Input ordito (CUDA) MeshLab PyTorch3D (CUDA) trimesh
subdivisions=3 47.2 µs 2.10 ms 5.11 ms 433.4 µs
subdivisions=5 45.3 µs 26.74 ms 8.69 ms 2.53 ms
subdivisions=7 90.1 µs 693.00 ms 12.76 ms 64.11 ms

uv_sphere

0.01x0.1x1x10x100xOpen3D: 29.8 µs, 0.50x ordito's timeOpen3D0.50x · 29.8 µsordito (CUDA): 59.2 µs, 1x ordito's timeordito (CUDA)1x · 59.2 µstrimesh: 756.0 µs, 13x ordito's timetrimesh13x · 756.0 µsMeshLib: 770.1 µs, 13x ordito's timeMeshLib13x · 770.1 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 29.8 µs 0.50x
ordito (CUDA) 59.2 µs 1x
trimesh 756.0 µs 13x
MeshLib 770.1 µs 13x
All inputs
Input ordito (CUDA) MeshLib Open3D trimesh
sections=32 59.2 µs 770.1 µs 29.8 µs 756.0 µs
sections=512 74.9 µs 39.23 ms 7.98 ms 220.90 ms
sections=4096 3.45 ms 2.998 s 1.130 s 27.248 s

cylinder

0.001x0.01x0.1x1x10xOpen3D: 2.4 µs, 0.07x ordito's timeOpen3D0.07x · 2.4 µsMeshLib: 25.5 µs, 0.75x ordito's timeMeshLib0.75x · 25.5 µsordito (CUDA): 34.0 µs, 1x ordito's timeordito (CUDA)1x · 34.0 µstrimesh: 202.4 µs, 6x ordito's timetrimesh6x · 202.4 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 2.4 µs 0.07x
MeshLib 25.5 µs 0.75x
ordito (CUDA) 34.0 µs 1x
trimesh 202.4 µs 6x
All inputs
Input ordito (CUDA) MeshLib Open3D trimesh
sections=32 34.0 µs 25.5 µs 2.4 µs 202.4 µs
sections=512 27.9 µs 1.05 ms 19.5 µs 527.8 µs
sections=4096 29.9 µs 34.10 ms 151.3 µs 3.96 ms

cone

0.001x0.01x0.1x1x10xOpen3D: 1.7 µs, 0.07x ordito's timeOpen3D0.07x · 1.7 µsMeshLib: 13.8 µs, 0.57x ordito's timeMeshLib0.57x · 13.8 µsordito (CUDA): 24.1 µs, 1x ordito's timeordito (CUDA)1x · 24.1 µsMeshLab: 41.2 µs, 1.7x ordito's timeMeshLab1.7x · 41.2 µstrimesh: 177.0 µs, 7.3x ordito's timetrimesh7.3x · 177.0 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 1.7 µs 0.07x
MeshLib 13.8 µs 0.57x
ordito (CUDA) 24.1 µs 1x
MeshLab 41.2 µs 1.7x
trimesh 177.0 µs 7.3x
All inputs
Input ordito (CUDA) MeshLab MeshLib Open3D trimesh
sections=32 24.1 µs 41.2 µs 13.8 µs 1.7 µs 177.0 µs
sections=512 30.9 µs 65.4 µs 846.0 µs 12.7 µs 402.8 µs
sections=4096 30.1 µs 290.1 µs 33.44 ms 76.4 µs 2.41 ms

annulus

0.1x1x10xordito (CUDA): 36.5 µs, 1x ordito's timeordito (CUDA)1x · 36.5 µsMeshLab: 39.7 µs, 1.1x ordito's timeMeshLab1.1x · 39.7 µstrimesh: 211.4 µs, 5.8x ordito's timetrimesh5.8x · 211.4 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 36.5 µs 1x
MeshLab 39.7 µs 1.1x
trimesh 211.4 µs 5.8x
All inputs
Input ordito (CUDA) MeshLab trimesh
sections=32 36.5 µs 39.7 µs 211.4 µs
sections=512 48.9 µs 76.6 µs 763.5 µs
sections=4096 44.1 µs 383.1 µs 5.63 ms

torus

0.01x0.1x1x10x100xOpen3D: 11.8 µs, 0.27x ordito's timeOpen3D0.27x · 11.8 µsordito (CUDA): 44.7 µs, 1x ordito's timeordito (CUDA)1x · 44.7 µsMeshLab: 235.9 µs, 5.3x ordito's timeMeshLab5.3x · 235.9 µsMeshLib: 416.3 µs, 9.3x ordito's timeMeshLib9.3x · 416.3 µstrimesh: 461.7 µs, 10x ordito's timetrimesh10x · 461.7 µsPyTorch3D (CUDA): 996.5 µs, 22x ordito's timePyTorch3D (CUDA)22x · 996.5 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 11.8 µs 0.27x
ordito (CUDA) 44.7 µs 1x
MeshLab 235.9 µs 5.3x
MeshLib 416.3 µs 9.3x
trimesh 461.7 µs 10x
PyTorch3D (CUDA) 996.5 µs 22x
All inputs
Input ordito (CUDA) MeshLab MeshLib Open3D PyTorch3D (CUDA) trimesh
sections=32 44.7 µs 235.9 µs 416.3 µs 11.8 µs 996.5 µs 461.7 µs
sections=512 40.4 µs 3.89 ms 4.42 ms 167.4 µs 13.60 ms 5.41 ms
sections=4096 52.5 µs 36.43 ms 18.18 ms 1.36 ms 47.95 ms

revolve

0.1x1x10xordito (CUDA): 132.8 µs, 1x ordito's timeordito (CUDA)1x · 132.8 µsMeshLib: 679.2 µs, 5.1x ordito's timeMeshLib5.1x · 679.2 µstrimesh: 702.7 µs, 5.3x ordito's timetrimesh5.3x · 702.7 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 132.8 µs 1x
MeshLib 679.2 µs 5.1x
trimesh 702.7 µs 5.3x
All inputs
Input ordito (CUDA) MeshLib trimesh
sections=32 132.8 µs 679.2 µs 702.7 µs
sections=512 106.8 µs 5.44 ms 11.14 ms
sections=4096 189.5 µs 14.92 ms 106.22 ms

extrude_polygon

0.1x1x10xordito (CUDA): 63.2 µs, 1x ordito's timeordito (CUDA)1x · 63.2 µsOpen3D: 104.8 µs, 1.7x ordito's timeOpen3D1.7x · 104.8 µstrimesh: 302.9 µs, 4.8x ordito's timetrimesh4.8x · 302.9 µsPyVista: 328.2 µs, 5.2x ordito's timePyVista5.2x · 328.2 µs
ring_size=64 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 63.2 µs 1x
Open3D 104.8 µs 1.7x
trimesh 302.9 µs 4.8x
PyVista 328.2 µs 5.2x
All inputs
Input ordito (CUDA) Open3D PyVista trimesh
ring_size=64 63.2 µs 104.8 µs 328.2 µs 302.9 µs
ring_size=1024 63.4 µs 1.54 ms 2.34 ms 1.55 ms

sweep_polygon

0.1x1x10x100x1000xordito (CUDA): 90.9 µs, 1x ordito's timeordito (CUDA)1x · 90.9 µstrimesh: 12.41 ms, 136x ordito's timetrimesh136x · 12.41 ms
time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 90.9 µs 1x
trimesh 12.41 ms 136x
All inputs
Input ordito (CUDA) trimesh
— 90.9 µs 12.41 ms

truncated_prisms

0.1x1x10xordito (CUDA): 57.1 µs, 1x ordito's timeordito (CUDA)1x · 57.1 µstrimesh: 162.9 µs, 2.9x ordito's timetrimesh2.9x · 162.9 µs
face_count=1024 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 57.1 µs 1x
trimesh 162.9 µs 2.9x
All inputs
Input ordito (CUDA) trimesh
face_count=1024 57.1 µs 162.9 µs
face_count=262144 145.6 µs 75.89 ms

parametric_surface

0.1x1x10x100xordito (CUDA): 39.6 µs, 1x ordito's timeordito (CUDA)1x · 39.6 µsPyVista: 2.21 ms, 56x ordito's timePyVista56x · 2.21 ms
resolution=40 · surface=boy · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 39.6 µs 1x
PyVista 2.21 ms 56x
All inputs
Input ordito (CUDA) PyVista
resolution=40 surface=boy 39.6 µs 2.21 ms
resolution=40 surface=dini 55.1 µs 2.18 ms
resolution=160 surface=boy 54.5 µs 15.88 ms
resolution=160 surface=dini 54.5 µs 12.44 ms
resolution=640 surface=boy 60.8 µs 1.059 s
resolution=640 surface=dini 65.1 µs 842.81 ms

super_ellipsoid

0.1x1x10x100xordito (CUDA): 61.3 µs, 1x ordito's timeordito (CUDA)1x · 61.3 µsPyVista: 1.82 ms, 30x ordito's timePyVista30x · 1.82 ms
resolution=40 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 61.3 µs 1x
PyVista 1.82 ms 30x
All inputs
Input ordito (CUDA) PyVista
resolution=40 61.3 µs 1.82 ms
resolution=640 83.6 µs 954.23 ms

super_toroid

0.1x1x10x100xordito (CUDA): 57.6 µs, 1x ordito's timeordito (CUDA)1x · 57.6 µsPyVista: 2.01 ms, 35x ordito's timePyVista35x · 2.01 ms
resolution=40 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 57.6 µs 1x
PyVista 2.01 ms 35x
All inputs
Input ordito (CUDA) PyVista
resolution=40 57.6 µs 2.01 ms
resolution=640 55.6 µs 589.60 ms

random_hills

0.1x1x10x100xordito (CUDA): 71.6 µs, 1x ordito's timeordito (CUDA)1x · 71.6 µsPyVista: 2.16 ms, 30x ordito's timePyVista30x · 2.16 ms
resolution=40 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 71.6 µs 1x
PyVista 2.16 ms 30x
All inputs
Input ordito (CUDA) PyVista
resolution=40 71.6 µs 2.16 ms
resolution=640 107.0 µs 930.79 ms

platonic_solids

0.001x0.01x0.1x1x10xOpen3D: 0.8 µs, 0.04x ordito's timeOpen3D0.04x · 0.8 µslibigl: 6.4 µs, 0.29x ordito's timelibigl0.29x · 6.4 µsordito (CUDA): 21.7 µs, 1x ordito's timeordito (CUDA)1x · 21.7 µstrimesh: 22.9 µs, 1.1x ordito's timetrimesh1.1x · 22.9 µsMeshLab: 59.7 µs, 2.7x ordito's timeMeshLab2.7x · 59.7 µs
builder=icosahedron · filter_name=create_icosahedron · n_faces=20 · time relative to ordito, log scale
Values
Library Median Relative to ordito
Open3D 0.8 µs 0.04x
libigl 6.4 µs 0.29x
ordito (CUDA) 21.7 µs 1x
trimesh 22.9 µs 1.1x
MeshLab 59.7 µs 2.7x
All inputs
Input ordito (CUDA) libigl MeshLab Open3D trimesh
builder=icosahedron filter_name=create_icosahedron n_faces=20 21.7 µs 6.4 µs 59.7 µs 0.8 µs 22.9 µs
builder=tetrahedron filter_name=create_tetrahedron n_faces=4 21.1 µs 39.9 µs 0.6 µs
builder=octahedron filter_name=create_octahedron n_faces=8 29.2 µs 59.1 µs 0.7 µs
builder=dodecahedron filter_name=create_dodecahedron n_faces=36 30.5 µs 64.9 µs

capsule

0.1x1x10x100xordito (CUDA): 36.2 µs, 1x ordito's timeordito (CUDA)1x · 36.2 µstrimesh: 592.0 µs, 16x ordito's timetrimesh16x · 592.0 µs
sections=32 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 36.2 µs 1x
trimesh 592.0 µs 16x
All inputs
Input ordito (CUDA) trimesh
sections=32 36.2 µs 592.0 µs
sections=512 52.3 µs 116.28 ms

random_soup

0.1x1x10x100xordito (CUDA): 20.6 µs, 1x ordito's timeordito (CUDA)1x · 20.6 µstrimesh: 782.8 µs, 38x ordito's timetrimesh38x · 782.8 µs
face_count=1024 · time relative to ordito, log scale
Values
Library Median Relative to ordito
ordito (CUDA) 20.6 µs 1x
trimesh 782.8 µs 38x
All inputs
Input ordito (CUDA) trimesh
face_count=1024 20.6 µs 782.8 µs
face_count=262144 26.9 µs 323.19 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:

Function Input ordito (CUDA)
cylinder_transformed mirror=True sections=4096 54.6 µs
axis transformed=True 130.6 µs
extrude_triangulation ring_size=1024 241.3 µs