Rhino 8 - .Net 7 Performance Boost Benchmarked

Hi all,

For those developers on the fence about commiting to the .net 7 upgrade I thought I’d share our experiance.

We have got the core of our ZebraCut CAM Plugin upgraded to .net 7.
ZebraCut transforms geometry into gCode for our industrial knife/laser cutting machines.

It took around 3 days to work through our 23 C# projects - the .net upgrade assistant is good but by no means perfect. There were a couple of roadblocks but solutions exist, I look forward to formal .net 7 nuget packages for RhinoCommon :slight_smile: We still need to test deployment via Yak but that’ll be a task for the new year.

The headline is that we are seeing a 15-20% performance improvement on file preparation times just by using .net 7. [Benchmarks were run 5 times].

Most of the runtime is from our GCode simulation engine which is raw c#. I do spot a fractional slow down in the move to Rhino 8 under .net 4.8 - this looks to be due to the tuneup and improvements in Curve Intersection checking? but it is more than made up for by the move to .net 7.

Below both a benchmark graph and a marketing graph for those of you with no mathematical scruples :wink:


perf2

This is 300 meters of fabric knife cutting - around half a million gcodes.

8 Likes

Even if .NET performance has improved a lot, the bottleneck for many plugins might be calls to native Rhino functions, which won’t benefit as much.

Btw, you should make the Y axis of the first graph start at 0%, starting at 90% is a bit misleading.

@visose yeah i can spot a few minor slow down’s of native rhino functions, but i’ll happily take that as there are so many bug fixes and tuneups which will help our customers deal with dodgy geometry.

regarding the graph… i think you and I both have higher standards than marketing :laughing:

Yes, I think they are shooting themselves in the foot by doing that. Most people can see through it and will associate the product with dishonesty.