Welcome Guest! To enable all features please Login or Register.

Notification

Icon
Error

When loading a large solution, please do not start nCrunch
coghlans
#1 Posted : Wednesday, October 3, 2012 7:37:29 AM(UTC)
Rank: Member

Groups: Registered
Joined: 7/26/2012(UTC)
Posts: 12
Location: United Kingdom

Thanks: 2 times
I have a situation, when loading a solution that has 40 + projects, that nCrunch starts building / running before the IDE (2010) has finished loading the projects and finalising it's intellisense, this causes the IDE to go into the Not Responding situation, with the busy indicator popping up in the task area. It appears that the nCrunch building takes away the background threads ()Even when limited to 1) that the IDE is expecting to use.
It would be better to have nCrunch wait for a signal from the IDE to state that it has completed it's background load processing before starting to perform it's actions.
Remco
#2 Posted : Wednesday, October 3, 2012 9:04:40 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 7,140

Thanks: 959 times
Was thanked: 1290 time(s) in 1196 post(s)
In VS2010, it isn't technically possible for NCrunch to start loading the projects until the IDE has completed it's loading of the solution, as VS won't send out project notifications until the solution is in place.

Most likely, the loss of responsiveness is being caused by heavy I/O activity. NCrunch won't monopolise the foreground thread or 'steal' background threads away from the IDE, and provided you've split the CPU resources appropriately between NCrunch and VS, it shouldn't slow any VS operations that are happening in memory. However, the builds kicked off by NCrunch cause large amounts of I/O, which can cause problems for VS activities (or activities of other plugins) that attempt to make blocking calls to the overloaded file system using the foreground VS thread.

There are several things you can do that may help this situation:

- If you are using a 3rd party code analysis tool of some kind (such as Resharper's solution-wide analysis), try disabling it to see if this makes a difference. Most other plugins will begin their analysis of your solution at roughly the same time as NCrunch, as they respond to the same notifications.
- If the on-disk size of your solution isn't too big, consider setting up a RAM disk and pointing your NCrunch 'Workspace base path' at this RAM disk. This will reduce the load on your HDD and will also give you a huge improvement in performance.
- Try reducing the value assigned to the 'Max number of processing threads' NCrunch global configuration setting. This will reduce the number of builds NCrunch can perform concurrency and will thus reduce I/O activity shortly after load.

I hope this helps!


Cheers,

Remco
Users browsing this topic
Guest
Forum Jump  
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.

YAF | YAF © 2003-2011, Yet Another Forum.NET
This page was generated in 0.029 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download