File Size Leads to Crash?

I have several Dynamo worksheets I have developed. Kept in small file sizes the work great. I am trying to bundle a few of the worksheets together to help speed up the process. I have noticed once the Dynamo File size gets to about 1meg it takes approximately 4 times longer to run than running them individually, and often it causes it Revit/Dynamo to crash. I am running Dynamo Core 2.01, and I have ensured all the node/packages are for 2.0. Revit 2018

I have a an Alienware 17 R5, i9-8950HK CPU @ 2.9GHz, and 32GB ram. I am pretty sure I have enough horsepower to run it. Is this something others have noticed or is it just me. Any insight would be beneficial…

I have had a few crashes / corruptions, but these usually relate to accidentially triggering

:cloud_with_lightning_and_rain:…The-Infinate-Loop…:cloud_with_lightning_and_rain: (in Automatic run mode.)

Can you show us the graph? Or tell us about the processes you are attempting to execute?

I am pretty good about leaving it in Manual mode, so that hasn’t been an issue. Here are some screen shots. The blue area below is identical to the grey at the top, just retrieving different columns from the excel sheet…







I am attempting to place embed plates in a precast concrete wall panel. currently I have each wall panel setup to run on a single script, but I am trying to combine them into a single script if possible or at least 2 at a time.

I have computed the XYZ coordinates for the embed plates in excel. so I am retrieving the coordinates from excel and placing them into my model. Then adding the elements to their various assemblies and tagging them in specific views.

Can you post the .dyn, or a link to it? The large slowdown may be associated with element binding which may just want to be cleared out.

here is a link to the file.

Get the ‘speed’ to run yours as is, then try this version and let me know if it runs faster.

Removed Bindings.dyn (845.5 KB)

All I did was clear out the element bindings. Note the file size went from 3970kb to 846kb - about a fifth of the original size. Removing the bindings means Dynamo doesn’t have to try and get elements out of the model that were previously created. Note that you run this graph again and then save your work, you will add the element bindings back into the file. Keep this in mind as you continue to develop this graph.

You may also find things run quicker if you produce some in line code from these sequences. If there is only one output from a standard node, it can be called in line as a nested function. I have found this vastly increases performance in many cases. Node to code the world whenever possible. :wink:


Jacob, This worked very well. Thank you very much!

As I have a number of these worksheets how do I clear the element bindings for the others? Also, as I am not a programmer, structural engineer, do you have a quick suggestion on how to produce some in line code from my sequences? I’m not sure I follow, but I definitely believe there is a cleaner solution to what I have.

I’ll look at doing a write up on managing element bindings later (via a .dyn of course).

I am also not a coder. Or at least I don’t think of myself as one. Nor do I know any coders who think of me as one so likely I don’t really fit that bubble. I learned what I know by doing small stuff and expanding out and up.

My experience was that I n line code can best be learned by doing a simple exercise. In a new graph make a line by two points. This means you need 4 number nodes (make all values unique), two point by coordinates (x y only), and a line by start point end point node.

Select all nodes, copy them to a new area of your graph. Then select all 7 of the copied nodes, right click on the background and choose ‘node to code’. You now have a single code block with many lines of code. All the calls are there in fairly easy language for you to read. Copy that and paste it to a new area of your graph. Study the variable names and where they are called, and try and use copy/paste to reduce the code line by line into a single line. Trust me keep at it and you will get there.

This same concept can be applied to almost any graph, but really only need be used when you’re gonna push the system hard with a graph that will be reused on many projects rather often.