This week I was asked to look into a speed issue for an end user. They were having issues with a large CAD file on their PCs, such that it was taking hours for CAD Cleanup to complete the Step 1 and Step 2 processes. They raised the issue of CPU use during processing, in that TBC was only ruunning at maybe 14% of the CPU capability while executing the tasks.
The video here clearly shows that with sufficient hardware, the process can trake a few minutes but certainly not hours. The issue here is a question of available resources and what happens when your computer hits the limit of its resources. In the video you can clearly see that TBC is running at 60 to 70 GB RAM, on my box I have 256 GB, so I am way below the limit of my machine. The end user has 64GB RAM on their box, and as a result TBC was riught at the edge oif using all available RAM resources. As that happens, TBC pages / swaps and processes to / from your hard drive, and that is an extremely slow process, and that typically is exhibited by a process or processes taking hours not minutes as was being seen by the user.
The question was why is TBC only using 14% of the available CPU. The Exploding of Blocks uses an Export / Import process associated with the DWG importer, and the CAD Cleanup process is a series of calls that require data to be read / written to / from the TBC database. These tasks are not something that lends itself to multithreading, whereas other tasks like computing volumes between multiple boundaries does lend itself to multi threading.
So your CPU is divided into a number of cores eg 16 or 20 cores, each core is capable of taking a single thread of a multi thread operation, but when you can only single thread, then while that is happening TBC can only run at 1/16 or 1/20 of your CPU capability, which is why such a low % shows, and this is gated even more when you run out of RAM, the CPU is stalled much of the time while the RAM engages / disengages data from the hard disk rather than processing in memory which is faster and requires more CPU continuously. Having said that, you can see in the video that multiple cores get spun up during different processes, however the RAM has to be there to support it.
So the video clearly shows that depending on the type of work you do and the size of the files that you are tryting to handle, RAM resources are pretty critical with larger files and more intensive processes, if you do not have the resources, the result is very slow processing. With this type of file, having 96GB, 128GB RAM or 256 GB RAM would have solved the speed issue - in this casde it is not really a CPU issue or a GPU issue.
Video Shows How