# Speeding up dynamo

**URL:** <https://forum.dynamobim.com/t/speeding-up-dynamo/78059>\
**Category:** FAQ\
**Tags:** civil3d\
**Created:** [June 27, 2022, 8:30am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059 "2022-06-27T08:30:43Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![remco.dejong](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@remco.dejong](https://forum.dynamobim.com/u/remco.dejong)\
**Post date:** [June 27, 2022, 8:30am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/1 "2022-06-27T08:30:43Z")

</div>

Hi,

So I’m running my script, but this takes about 2+ hours. So I was wondering how you can make it faster without upgrading you pc and cutting the estimated end result.

So I’m looking in the direction of certain setting inside dynamo or my pc

Thanks in advance

---

<div class="post-metadata">

**Author:** ![Draxl\_Andreas](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/draxl_andreas/32/145744_2.png) [@Draxl\_Andreas](https://forum.dynamobim.com/u/Draxl_Andreas)\
**Post date:** [June 27, 2022, 8:58am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/2 "2022-06-27T08:58:03Z")

</div>

@remco.dejong ,

We modify our scripts in usefull “tasks”.

f.e. you could run the script per view or per Level …

---

<div class="post-metadata">

**Author:** ![remco.dejong](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@remco.dejong](https://forum.dynamobim.com/u/remco.dejong)\
**Post date:** [June 27, 2022, 9:07am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/3 "2022-06-27T09:07:23Z")

</div>

I work in civil3d, not revit (its also marked with civil3D). I already filtered it down to two lists of objects but I don’t know if I can make it any faster, because its quite annoying to wait for 2 hours or more.

---

<div class="post-metadata">

**Author:** ![Brendan\_Cassidy](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/brendan_cassidy/32/7685_2.png) [@Brendan\_Cassidy](https://forum.dynamobim.com/u/Brendan_Cassidy)\
**Post date:** [June 27, 2022, 9:08am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/4 "2022-06-27T09:08:08Z")

</div>

What you can/cannot do to speed things up will depend on what your script is actually doing. Have a look at the package called TuneUp, so you can concentrate on the areas of higher times to refine them.

If using geometry make sure you do this as late as possible in your script, and do not continue passing it along when not needed

Utilise Python instead of OOTB nodes may gain some time savings and of course dispose of everything when not needed.

---

<div class="post-metadata">

**Author:** ![remco.dejong](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@remco.dejong](https://forum.dynamobim.com/u/remco.dejong)\
**Post date:** [June 27, 2022, 9:34am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/5 "2022-06-27T09:34:46Z")

</div>

> So you can concentrate on the areas of higher times to refine them\<  
> What do you mean with that?

The other things are pretty straight forward, I don’t use OOTB nodes in this file. I suppose it is just too heavy slicing 200 solids with 28 different cut lines.

I will look into that package later on.

---

<div class="post-metadata">

**Author:** ![jacob.small](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/jacob.small/32/161030_2.png) [@jacob.small](https://forum.dynamobim.com/u/jacob.small)\
**Post date:** [June 27, 2022, 1:26pm UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/6 "2022-06-27T13:26:15Z")

</div>

> [@remco.dejong](#):
>
> So you can concentrate on the areas of higher times to refine them\<  
> What do you mean with that?

The tuneup package will let you know where the file is slow, as each node’s execution time will be identified. This way you won’t spend six hours addressing something which can only make you 3 seconds faster, but instead focus on the area which can have impact.

My guess is that there is some manor of cross product lacing at play on the 200 solids, creating 200\*28 solids to deal with when in memory, resulting in a lack of RAM for the process.

---

<div class="post-metadata">

**Author:** ![Brendan\_Cassidy](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/brendan_cassidy/32/7685_2.png) [@Brendan\_Cassidy](https://forum.dynamobim.com/u/Brendan_Cassidy)\
**Post date:** [June 28, 2022, 8:07am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/7 "2022-06-28T08:07:26Z")

</div>

As Jacob has indicated it is so you can concentrate on the areas that will give you the best benefit. Eg something that could save 10 minutes over something that may save you 1millisecond.

How are you doing the Slicing? Is this done via Civil 3d api or Dynamo because sometimes doing it in python as native Civil 3d api might be quicker than using Dynamo api in Python.

Reducing the amount of geometric objects can also help run time.

I would highlight that Civil 3d is generally a single threaded application.

---

<div class="post-metadata">

**Author:** ![leonard.moelders](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/leonard.moelders/32/108216_2.png) [@leonard.moelders](https://forum.dynamobim.com/u/leonard.moelders)\
**Post date:** [June 28, 2022, 8:39am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/8 "2022-06-28T08:39:27Z")

</div>

Maybe it has something to do with the bindings in the saved script. We always clear this part of the script after saving it, as otherwise some scripts take way longer without this step. For this task I created two co-op scripts as powershell and batch:

> [@Element Binding in Revit](https://forum.dynamobim.com/t/element-binding-in-revit/31612/36):
>
> Hey guys, I also made two handy scripts to auto-delete the bindings in .dyn files. You need to create one .bat and one .ps1 file. So a Batch and a PowerShell-File. The Batch-File executes the PowerShell-File on double-click. The PowerShell-File deletes all Bindings in all .dyn files wihtin the same folder where the ps1 is located. Do not rename both files as the names are being referred in the code unless you know how to change the code accordingly. So the easiest way is to copy both files int…

If you want to try it first: Just open the .dyn file in editor and search for “bindings”. Everything between the following pair of brackets “[…]” has to be deletet: ‘[]’. Then save the .dyn file.

---

<div class="post-metadata">

**Author:** ![remco.dejong](https://avatars.discourse-cdn.com/v4/letter/r/f05b48/32.png) [@remco.dejong](https://forum.dynamobim.com/u/remco.dejong)\
**Post date:** [June 28, 2022, 9:43am UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/9 "2022-06-28T09:43:52Z")

</div>

the slicing is being done with planes, because there is no other way to slice solids

---

<div class="post-metadata">

**Author:** ![Vladimir](https://sea2.discourse-cdn.com/flex022/user_avatar/forum.dynamobim.com/vladimir/32/147600_2.png) [@Vladimir](https://forum.dynamobim.com/u/Vladimir)\
**Post date:** [June 28, 2022, 1:58pm UTC](https://forum.dynamobim.com/t/speeding-up-dynamo/78059/10 "2022-06-28T13:58:22Z")

</div>

Seems that:

1. Solids are inconsistent. It happens in C3d
2. Or too many unneeded intersections persists.  
Can you share files?
