Utilize more than one CPU core when generating adaptive components


I am having dynamo read point information from an excel file and generate adaptive components in revit. I see that only one CPU core is being used. This computer has 2 cores. Is it possible for Revit/ dynamo to use both cores while creating these adaptive components to speed up this process?


I would say no

Revit is multi-threaded, but only for some operations. ADSK publish a list of what is/isn’t multi threaded


Generally trouble with running things on multiple cores is breaking tasks into independent blocks. I mean many of the tasks are not independent. However reading a row of points in excel and generating a adaptive component is fairly straightforward and independent. i.e each adaptive component is its own independent entity. There out to be a way for these to be processed in parallel by all the cores on the computer. Hopefully some C# genius on the forum is reading this post and can post a solution.

Please post your Dynamo graph- without that, no one will be able to help you make it as efficient as possible

Divide the list in half (or quarters, or 8ths… 256ths if you would like) and run portions of the script on multiple systems using different user names on each one.

Or… and this is pure insanity… and it’s really risky… maybe I shouldn’t build this atom bomb… but… one could open multiple revit sessions on the same system each with a different user name, and then open the same dynamo graph, and run the first half (quarter, 8th, 256th) on one session, and the other on the next session, and so on…

If you do this please post a screenshot of your task manager’s performance page so i can go “oooooooo” and “aaaahhhhhh” for a few hours…


The API providing access to Revit’s DB is not “thread-safe”. If you try to access it with more than one threads, you’ll end up with memory corruptions.

1 Like