Optimal performance: NCrunch < Visual Studio < Parallels < 13″ MacBook Pro
It’s important to realise that there are lot of factors at play when using a continuous testing tool like NCrunch. Add to that running Visual Studio inside a VM on a Macbook Pro which doesn’t have 4 cores, and you’ll need to be pretty careful to not saturate the CPU and make life harder.
I've done the hard work for you! So if you're using a 13" Macbook Pro with Visual Studio running in Windows under Parallels then this might apply and help you (a lot!):
13" MBPs only have 2 physical cores even though it looks like there are 4 - two of them are HyperThreaded. Make sure Parallels only gets two and not the default 4. Giving the VM 4 will allow Windows to address the HyperThreaded vCPUs as though they are physical ones. This is bad and will cause contention making your performance actually worse.
Limit NCrunch to only 2 threads max. The VM has two (the physical two - Parallels will make sure it's 0, and 2 rather than 1 and 3 which are the HT ones) so NCrunch can have two also, provided that:
You allow NCrunch to use the same core as Visual Studio. This can't be done in the wizard. You need to give NCrunch core 1 and VS cores 0,1 (which are actually the host cores 0 and 2; the physical ones).
It might seem counter-intuitive to make VS share a core but in my experience VS doesn't mind too much and the performance hit is minimal. The fact is, if you don't give NCrunch access to both cores, the two threads you've said it can use will share a core and you won't get the concurrency you want anyway. So thanks to my benchmarking and results, its my way or the highway I'm afraid.
The above setup is the most optimised I've found and I've spent many more hours than I should have on this problem. Thanks to @remcomulder on the forums for helping me out many a time.













