Generating multiple spline objects in the scene is slow

Hello folks,

We are developing a polyhedral spline addon that can generate piecewise spline objects in the scene.

However, we found adding multiple spline objects into the scene using primitive_nurbs_surface_surface_add is slow when the number of objects increases.

e.g. it took 16 sec to generate 691 spline objects (apply generate Bspline patches on built-in Suzanne)

Is it possible that we can place multiple bpy.types.Spline into one object to speed up the process?
Currently, Blender seems only support one spline for one object. e.g.

bpy.data.objects['SurfPatch.001'].data.splines[0]
bpy.data.objects['SurfPatch.002'].data.splines[0]
bpy.data.objects['SurfPatch.003'].data.splines[0]

instead of

bpy.data.objects['SurfPatch.001'].data.splines[0]
bpy.data.objects['SurfPatch.001'].data.splines[1]
bpy.data.objects['SurfPatch.001'].data.splines[2]

Please let us know if there are also other walk-around.
Thank you for any comments :slight_smile: