Why is Rhinoceros with Python processing so slow?

Hello
Right now we are building a system that is running Rhinoceros with python scripts on an AWS EC2 instance by using python subprocess.
Development was done on a local PC. Execution on the server is much slower than execution on the local PC. Why is this?
The specifications for the various environments are as follows:

local PC Spec:

  • Rhino7
  • OS:Windows10
  • CPU: AMD Ryzen 7 PRO 6850U with Radeon Graphics
  • GPU: AMD Radeon™ Graphics

EC2 Instance Spec

  • Rhino7
  • Instance:m6i.2xlarge
  • OS:Windows Server 2019 Datacenter
  • CPU: Intel(R) Xeon(R) Platinum 8735C CPU @ 2.90GHz

Perhaps the GPU is really helping? Is the process IO bound, and your local SSD reads and writes much faster than an S3 bucket?

It depends entirely on what your Rhino and Python code is doing exactly. Usually the answer to these curious performance differences, is not magic performance pixie dust, but that it simply was not a fair apples versus apples comparison in the first place. In your case, you did not realise some other variables changed between the two machines. In other cases, e.g. the ludicrous ‘35,000’ times improvement Modular are claiming for Mojo, this was intentional.

@James_Parrott
Thank you for your comment.
I took your comment into account to make sure we are comparing the same conditions.
It may be due to GPUs and other factors, but it seemed to be due to the fact that the code contained unexpected processing.
If it turns out to be due to Rhino, I will come back.

2 Likes