MaxGuernsey;13942 wrote:
Of the build slowness, there is a common theme of multiple seconds being spent acquiring a workspace for each binary. For running the tests, 3 seconds are spend establishing a host process.
Is there any chance you could grab an export of the Execution Steps for a typical example of this? There's an option on the toolbar that should allow you to export it to CSV. You can then submit this through the
NCrunch contact form.
The acquisition of a workspace can involve the building of the workspace on disk. This includes the copying of all files within a project into a separate area where they can be built/tested in isolation. If you have a large project with many small files included, this can be an expensive operation, especially if you're running on an older HDD. The good news is that once enough workspaces have been built to support the operation of the engine, it shouldn't build any more of them and it should just re-use the ones that it has. You can tell the difference in the Execution Steps when it's building vs reusing by examining the task involved - if it needs to build a new workspace, there should be an entry for 'Build new workspace'.
3 seconds spent establishing a host process is unusual. Is there a particular step inside this that is taking an unusual amount of time?
Note that like the workspaces, NCrunch will only allocate new host processes when it needs to and will prefer to re-use existing ones where it can. This means that after you've spun things a little, you might find this bottleneck also drops off considerably.