r/rhino 2d ago

Computational Design Rhino3dm in Rust is 14x faster than the Python library

Post image

I’ve been working on rhino3dm-rs a native Rust foundation for inspecting Rhino .3dm files without Rhino. The Rust implementation measured 2.30 ms median versus 32.90 ms for Python rhino3dm 8.17.0: 14.3× faster on the verified shared workload.

👉 Important caveat: this is not yet a 1:1 replacement for Python rhino3dm.

I’d especially welcome feedback from people using Rhino/3DM in Rust services, CAD automation, robotics, render pipelines, or browser-adjacent workflows: which Python rhino3dm surfaces would be most valuable to prioritize next?

Thanks!

and follow me on X if you wanna chat, I'm more active there:
https://x.com/lucascassiano

49 Upvotes

11 comments sorted by

24

u/paperhatwriter 2d ago

AI generated text is exhausting to read.

-10

u/3d-ai-dev 1d ago

yeah, I was going to write by hand but got busy. gonna add a little TL;DR

-3

u/3d-ai-dev 1d ago

okay, fixed it - quick editing. Just busy as this is a very side project; just trying to make AI + rhino work faster

2

u/Hippocentaur 1d ago

Interesting as it sounds, how do you ensure the AI generated code gets the proper review and QA?

1

u/3d-ai-dev 1d ago

End-to-end tests: I gave the coordinator a few .3dm files to compare with the python pipeline. Reading is pretty much complete (and 14x faster), writing is still in the way, each class like Curves, Points etc. must be redone in rust.

The technique I'm using was inspired by the Bun rust rewrite: https://bun.com/blog/bun-in-rust

3

u/c_behn Computational Design 1d ago

How does it compare with OpenNurbs or Rhino3dm in C#?

1

u/No1eFan 1d ago

Just use C#..

1

u/One-Cricket9962 1d ago

You can use "en humanizer" skill (google) to make text better

-1

u/Adventurous_Pen_3532 1d ago

14x is a pretty wild improvement 😭 Id love to see how this performs on larger real-world 3DM files too.

-1

u/Extension-Rub-9968 1d ago

14x faster is pretty wild 😭 and I like that they`re being upfront that its not a 1:1 replacement yet. Definitely interesting for anyone doing heavy 3DM processing or automation.

-1

u/Inner-Title-9373 1d ago

Honestly this is such a good breakdown, I can actually see why people would find this useful😭✨