Reason for slow start?

Hi,

first time launching rhinoinside and I noticed the slow launch. (10 seconds). The execution of the actual Rhino code is quite fast (less than a second).

I guess rhinoinside.load() is the culprit.

What is the reason of that?

I run simply this:

import time
ts = time.time()
import rhinoinside
rhinoinside.load()
import System
import Rhino



# for now, you need to explicitly use floating point
# numbers in Point3d constructor
pts = System.Collections.Generic.List[Rhino.Geometry.Point3d]()
pts.Add(Rhino.Geometry.Point3d(0.0,0.0,0.0))
pts.Add(Rhino.Geometry.Point3d(1.0,0.0,0.0))
pts.Add(Rhino.Geometry.Point3d(1.5,2.0,0.0))

crv = Rhino.Geometry.Curve.CreateInterpolatedCurve(pts,3)
print (crv.GetLength())

print ("Elapsed time {}".format(time.time()-ts))

Yep, the load() function is loading the entire all of Rhino into your python process and performing a bunch of tasks like license checking and settings reading. We haven’t spent time to try and optimize this.

1 Like

Does that include plugins too?

I don’t believe so in the case of python (with the exception of the RDK). Rhino is loaded headless in that case which is similar to how our compute web server loads Rhino.

Thanks Steve,

I’ll take a look if there are more advanced examples.