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

Notification

Icon
Error

Sluggish Performance
WadeHatler
#1 Posted : Friday, May 16, 2014 9:10:16 PM(UTC)
Rank: Member

Groups: Registered
Joined: 5/9/2014(UTC)
Posts: 13
Location: United States of America

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
Whenever I'm running NCrunch, Visual Studio is noticeably more sluggish. Every keystroke seems to cause enormous delays, even if I just set it to run all tests manually. I can see it building every time I type a key, and it seems to chew up the whole machine. It's an i5 processor, so should be adequate (it is without NCrunch, even if I use other background build tools like .NET Demon).

Is there any way to delay the builds until I save a file, or press a button or something? As it is, I find it too annoying for day to day use.
1 user thanked WadeHatler for this useful post.
Valentine on 5/19/2014(UTC)
Remco
#2 Posted : Friday, May 16, 2014 10:24:45 PM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 6,976

Thanks: 931 times
Was thanked: 1257 time(s) in 1170 post(s)
Hi, thanks for posting!

Staying off the UI thread is a high priority for NCrunch. Your experience is not normal - something is wrong here.

Can you share any more details about your IDE setup? Are you using any other 3rd party VS plugins (such as refactoring tools)? Is this a particularly large solution? Do you also notice the problem on other solutions? Which VCS are you using? Do you have enough RAM available?

If you haven't already, it's worth checking out the performance turning guide, as this gives some useful tips that are worth being aware of.

You may also want to look into setting up a sliding build delay, although this is a 'band aid' approach at best and I think I'd rather try to work out what is actually happening on your machine.

WadeHatler
#3 Posted : Saturday, May 17, 2014 3:22:12 AM(UTC)
Rank: Member

Groups: Registered
Joined: 5/9/2014(UTC)
Posts: 13
Location: United States of America

Thanks: 2 times
Was thanked: 1 time(s) in 1 post(s)
Thanks for the quick reply. It looks like you're a one-man company, which I am right as well. I really hope you're successful, because I think you're onto something here.

It occurred to me after I posted that I might actually be the culprit here as well. As you've seen in my other thread, I had to do a lot of refactoring of my project space to get it build reliably. In the process, I ended up with both Copy Reference Assemblies to Sandbox on one or two projects, as well as enabling both pre and post-build steps on some of the projects. It's entirely possible one of the pre/post-build steps are causing the problem, because the big slowdown seems to be relatively sporadic. I'll do a bit more investigating to see if I can eliminate those steps, or at least figure out if they are the culprits.

I like the delay option, so I'm going to use it whether I actually need it or not. I don't really like it building instantly. I would rather have it actually build and test when I tell it to, or at the very least wait until I move the cursor off of a statement. Adding a few seconds delay seems like it will be helpful. You may want to consider having the whole process launched using a hotkey, or perhaps when the files are saved. My ideal would be to have all of your processing just start as soon as I save a file, or something like that. I tried setting the Engine Mode to Manual, but the results seemed a little sporadic. I'll investigate little further.

At any rate, I will investigate farther and find out if my pre-or post build steps are causing the problems, and take steps to correct them.

PS there's a little bit of overlap between this and my other thread, so I will tell you more about the structure of my project in the other thread.
Remco
#4 Posted : Saturday, May 17, 2014 6:20:09 AM(UTC)
Rank: NCrunch Developer

Groups: Administrators
Joined: 4/16/2011(UTC)
Posts: 6,976

Thanks: 931 times
Was thanked: 1257 time(s) in 1170 post(s)
I agree that it's probably worth investing your performance issues in combination with the other issues you're experiencing in your testing environment.

It's also important though to establish where the loss in performance is originating from, as this may have an impact on how you work with this environment.

I'm aware of several things that can cause the problem you've described:

1. Excessive file I/O that slows down any synchronous file system activities while you work in Visual Studio (for example, saving a change to a source file might result in a temporary lock up if you have a disk write queue several seconds long). Lots of build won't help here.
2. Insufficient CPU resources on CPU Cores that have been assigned to Visual Studio (see http://www.ncrunch.net/documentation/reference_global-configuration_cpu-cores-assigned-to-ncrunch-or-vs). This can happen if an application outside NCrunch's control (i.e. MS Word in your case) overloads the cores being used by VS
3. Excessive network activity when working with distributed processing and many remote grid nodes - This is largely theoretical, and a threshold under which it can cause problems has not yet been established.
4. Excessive memory traffic causing heavy garbage collector compaction inside the IDE - This tends to happen if you have many VS packages installed on a machine that is struggling to keep up (watch out for VCS plugins - the default MS Git provider is not good here)
5. Not enough memory available, resulting in heavy paging

You may be able to narrow these down very quickly through the use of perfmon and watching your system resources in Task Manager. If you can figure out where the resources are falling short, I may be able to help with further advice on how to rectify.
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.039 seconds.
Trial NCrunch
Take NCrunch for a spin
Do your fingers a favour and supercharge your testing workflow
Free Download