none
Deciding on computer hardware for working with Visual Studio

    Question

  • Hi.

    I have been talking to people who are happy with working with Visual Studio on Intel NUCes, while we, in our office, struggle with, what looks good on the specs, virtual developer desktops, with some 20 projects in the solution, some of them with somehow complex WPF views and controls. So, if one would build a Visual Studio optimized PC, what would be the most important things?

    1. Is the higher clock better that more cores for VS performance?

    2. Will VS utilize and benefit benefit from having 6 or 8 cores compared to 4? 

    3. How much is the CPU cache affecting the performance? 15MB vs 8MB, for example?

    4. How much RAM do you need? 16, 32, 64? How much will VS utilize?

    5. Is a dedicated graphics card important or will Processor Graphics be good enough for working with WPF/XAML views?

    6. SSD is probably one of the most important thing - the faster, the better, of course.

    7. How much tools like PassMark are relative to Visual Studio functionality? Is it better to turn off some of the tests so that it would be more relative to what VS is doing? Is there a tool that does more VS related benchmarking.

    Thanks!


    • Edited by Тridy Tuesday, March 07, 2017 10:16 PM splng
    Tuesday, March 07, 2017 10:13 PM

Answers

  • The minimum specs are good enough.  ... by definition, right?

    1. Higher clock speed will get you better performance if it's the bottleneck.  More cores will get you better performance if it's the bottleneck.  Memory speed and disk speed also limit performance though.  It all depends what you're doing with it.  There's no general answer.

    2. Yes, VS can take advantage of multiple processors.

    3. More is better for everything except CPU cache.  Larger cache takes longer to fill, so the answer there is "it depends". e.g. http://www.tomshardware.com/reviews/cache-size-matter,1709-5.html

    4. Visual studio is a 32 bit process and 32 bit processes will use up to 2 GB of ram.  The compilation is broken into its own processes so each of those process will use up to 2 GB of ram worst case.  Many processes are launched during compilation to take advantage of multiple cores and more RAM.  The system in general has many processes running so more RAM will help if it's the bottleneck.  Visual Studio will certainly not be the only thing you run on your system.  And depending on what you're doing, you may even launch multiple Visual Studio instances.  How much RAM you need depends on what you're doing.  RAM can certainly get pricey.

    5. Dedicated graphics cards improve performance for graphical tasks but eat power (especially battery) and money.

    6. SSD's are awesome.  Apart from being more expensive, they dominate over the spinning disk alternative by enormous margins.

    7. Visual Studio is the best performance tool for measuring the performance of Visual Studio, don't you think?


    • Marked as answer by Тridy Thursday, March 09, 2017 6:58 PM
    Wednesday, March 08, 2017 3:20 PM

All replies

  • Hi Тridy,

    This is my hardware parameters.

    And please refer to the following MSDN document about VS2017 requirement:

    https://www.visualstudio.com/en-us/productinfo/vs2017-system-requirements-vs

    and I think, no matter what application, stronger hardware will make app run more quickly.

    Sincerely,

    Oscar


    MSDN Community Support
    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    Wednesday, March 08, 2017 8:04 AM
    Moderator
  • Hi.

    Thanks for your reply.

    I have been through the system requirements of VS, and what they are saying is what the optimal system parameters are.

    What I am asking more is what VS can actually utilize. An example: if one is not doing development where an emulator is required, a Xeon processor is not an advantage, and a higher clock speed i7, for example would perform better.

    Here is the setup that I have:

    the thing is that this is a virtual machine and it does not work that well.

    That is why I am trying to figure out what parameters affect the performance.

    The bigger - the better  does not cut this time.

    How do I quantitatively benchmark the performance of VS on any machine?

    regards

    Wednesday, March 08, 2017 9:33 AM
  • The minimum specs are good enough.  ... by definition, right?

    1. Higher clock speed will get you better performance if it's the bottleneck.  More cores will get you better performance if it's the bottleneck.  Memory speed and disk speed also limit performance though.  It all depends what you're doing with it.  There's no general answer.

    2. Yes, VS can take advantage of multiple processors.

    3. More is better for everything except CPU cache.  Larger cache takes longer to fill, so the answer there is "it depends". e.g. http://www.tomshardware.com/reviews/cache-size-matter,1709-5.html

    4. Visual studio is a 32 bit process and 32 bit processes will use up to 2 GB of ram.  The compilation is broken into its own processes so each of those process will use up to 2 GB of ram worst case.  Many processes are launched during compilation to take advantage of multiple cores and more RAM.  The system in general has many processes running so more RAM will help if it's the bottleneck.  Visual Studio will certainly not be the only thing you run on your system.  And depending on what you're doing, you may even launch multiple Visual Studio instances.  How much RAM you need depends on what you're doing.  RAM can certainly get pricey.

    5. Dedicated graphics cards improve performance for graphical tasks but eat power (especially battery) and money.

    6. SSD's are awesome.  Apart from being more expensive, they dominate over the spinning disk alternative by enormous margins.

    7. Visual Studio is the best performance tool for measuring the performance of Visual Studio, don't you think?


    • Marked as answer by Тridy Thursday, March 09, 2017 6:58 PM
    Wednesday, March 08, 2017 3:20 PM
  • Thanks, Wyck.

    The minimum specs should be good enough, yes. Technically, my current HTPC is good enough according to that. If you build a 2-5 project solution without anything fancy then you are good to go.

    The point is that I will not be building a machine to target the minimum specs, as you might have guessed. In VS, as soon as I get into XAML resources loading, and complex user controls, things get not so minimalistic and it takes time for things to load and show on the screen. So, if I will have some extra cash to boost up the performance in VS I think:

    • higher clock speeds
    • 6 cores
    • probably 2 x SSDs in RAID 0
    • 32 GB high speed ram
    • not too powerful video card. Maybe it is worth trying Processor graphics (if I go for of Intel) before buying a dedicated graphics card 

    VS measuring VS performance, the only thing I could come up with is taking a larger project and seeing how long it takes to compile after a clean in different environments.

    It would be interesting if someone took a copy of a certain big project on Github (maybe a changeset of Roslyn), for example, build it and tell how much time it takes to build it on a certain system. Other people with different systems could do the same. I think it would be interesting to  get sort of a standard test instead of people saying, "good enough" for me. So, questioning, how far you can go with investing into the system so it would outperform the minimum requirements by X. 

    A thought: In gaming we have FPS as the tool that defines how smooth the game could run on this machine. I would like to have something similar for VS, just not sure what it will be. Lines of Code or files or classes compared to the size of the classes, complexity etc; all that processed/build per second or something like that. 

    It will be interesting to see if the new AMD processors will give good performance. Well, why shouldn't they?

    thanks again for the reply

    Wednesday, March 08, 2017 4:32 PM
  • Build time is a good metric.  But that's not all you do with Visual Studio.

    Look at any operation you do on a regular basis:  Opening a solution.  Revision control operations.  Find in all files.  Intellisense.  Go to definition.  Manipulate controls on a designer.  Start debugging.  Download symbols.  Start unit tests.

    ** measure the performance that matters to you **

    Thursday, March 09, 2017 3:31 PM
  • Build time is a good metric.  But that's not all you do with Visual Studio.

    Look at any operation you do on a regular basis:  Opening a solution.  Revision control operations.  Find in all files.  Intellisense.  Go to definition.  Manipulate controls on a designer.  Start debugging.  Download symbols.  Start unit tests.

    ** measure the performance that matters to you **

    yes, that is how it is going to be after all.

    There is no standard way of measuring it. Call it subjective, good enough or similar.

    I will not have enough hardware to say that the builds or opening a solution or intellisence will work so many % faster if I use 6 cores instead of 4. I guess I could experiment with ram and SSDs.

    As you said, the definitive rule would be that if something reaches the bottleneck, then it is definitely the sign that this particular part needs more resources.

    Thanks for the reply! 

    Thursday, March 09, 2017 6:58 PM