Visual Studio 2010 Hardware Requirements

Soma’s been talking about the upcoming Visual Studio 2010 release on his blog, which means I’m starting to get questions about what type of hardware you’re going to need to run VS2010 on.

Unfortunately, I can’t give you an official answer yet (other than to say, it depends on what you’re doing – obviously building small apps with one of the Express versions of Visual Studio won’t require the same resources as a multi-million line app using full blown Visual Studio Team System with lots of third party add-ins).

What I can do is help put some of the things we’ve said about Visual Studio 2010 into context, to maybe help you make some better hardware decisions today:

1) Memory – we’re trying to make VS2010 as frugal as we can here in order to run in as little memory as possible; however, we’re also adding a lot of functionality, and systems with more memory do tend to perform much better. So the general rule of buying systems still applies – spring for as much memory as you can afford. It’s hard to have too much memory, at a minimum you want to make sure that you’re not paging. That said, there’s very little benefit to making a text editor 64 bit (and lots of reasons not to), so anything over 4GB is likely to be wasted (unless you’re running or writing apps that need more).

 

2) CPU – modern CPUs with their larger caches and tuned instruction pipelines tend to perform much better than one’s from just a few years ago (see our blog). If you’re going to do multi-threaded programming, you’ll want at least a dual core processor (and with the new Parallel Computing support in VS 2010, you will want to do multi-threaded programming).

 

3) GPU – VS2010 will leverage WPF heavily to create richer editing and visualizations, so a decent GPU that supports at least DX9 is highly recommended (DX10 is preferred, but requires Vista).

 

4) Disk – If you’re building a large project or working with a large database, a large high-speed disk is pretty important. For large projects, you can often benefit by spreading your work across multiple disk spindles. At an extreme, putting your tools on one drive, your source code on another, and your object files on a third drive allows the three major sources of disk IO in building a project to be carried out independently of each other. If you have to use a slower disk (e.g. a notebook) then be sure to get lots of memory. Also keep in mind that modern hard drives tend to have more built in caching, so the same speed drive bought recently will likely outperform one bought a few years ago.

So now that I’ve given you my thoughts on what hardware Visual Studio 2010 will need, what are your thoughts? What kind of hardware are you developing on today, and what do you expect to be using in the next couple years? What are your expectations on how we should be leveraging your hardware to create a productive development environment?

Comments

  • Anonymous
    December 24, 2008
    I am thinking about using SSD(or SAS or Velociraptor) most probably in RAID1 for sources and/or RAM disk for object files. Do you have any performance tests for such configurations?

  • Anonymous
    December 24, 2008
    The comment has been removed

  • Anonymous
    December 30, 2008
    "That said, there’s very little benefit to making a text editor 64 bit " So VS2010 is just a text editor?  It kinda does a bit more than that, stuff I'd imagine would be useful under 64-bit.  I'd like more details on the pros/cons that you guys ran into.

  • Anonymous
    December 30, 2008
    Josh, The pro of 64 bits is access to more than 4GB of memory (which can help some apps trememndously).  The con is increased pointer size, which increases data sizes, in term consuming more memory, which take a little longer to manipulate.  (There's also a hit to debugging performance due to differences in how stack frames are built.) Yes, VS is much more than a text editor.  The real question is which parts of VS would benefit from being able to access more than 4GB of memory?  Text editing probably not.  Even if you had more than 4GB of source code, annotations, and cross references - would we really benefit from having it all in memory?  It's unlikely that a single user would ever reference that much source material.  What's more important is a good on disk index structure that allows us to rapidly retrieve information as necessary, and cache it where it makes sense.  By avoiding 64 bits we keep data structures smaller, so we actually can keep more in memory with a smaller footprint, and access it faster than if we went to 64 bit. Now, where we have parts of VS that do benefit greatly from accessing more than 64 bits, then it would make a lot of sense to make those parts of VS 64 bits.  Also, some parts of VS have to be 64 bits in order to support 64 bit code development. So, as I said, if you're doing 64 bit development (and the only real reason to do so is if you're writing apps that need more than 4GB), then you will absolutely want a 64 bit system, and probably want more than 4GB of RAM.  Or if you're using VS in some kind of application server environment, where it's accessible to multiple users, then you may also want more than 4GB of memory. But for the average developer, writing 32 bit apps, then 4GB should be plenty (at least for VS2010). Regards, Dave

  • Anonymous
    February 11, 2009
    >  If you’re going to do multi-threaded programming, Can VC already compile multiple files of a single project in parallel? With 4/8 cores/threads being easily available, I certainly hope so.

  • Anonymous
    February 11, 2009
    The comment has been removed

  • Anonymous
    February 12, 2009
    On the subject of build performance, here's a recent post by Jim Lamb on improving TFS Build performance, note that a lot of the suggestions apply to any build system. http://blogs.msdn.com/jimlamb/archive/2009/02/10/improving-build-performance-in-tfs-2008.aspx

  • Anonymous
    February 16, 2009
    I would suggest to focus on general performance and basic tools (like C++ Refactoring tools, Code snippet support etc.) instead of using WPF, which does not add any value to code product! I am finding myself going back to some other editor which does the one job well without eating away my resources! Some how, I find your Goal #1 and #3 contradictory.

  • Anonymous
    February 16, 2009
    Ketan, Yes, it's not uncommon for goals to be somewhat contradictory.  Striking a good balance is always the challenge.  One of our biggest challenges with VS 2010 is making sure we make the right trade-offs. WPF requires extra memory to load WPF, DX, and for DX buffers.  Exactly how much depends on the GPU. There are benefits to WPF, which include:

  1. By leveraging the GPU WPF can offload processing from the CPU and free it up to do real work and let us create a more responsive UI.  
  2. WPF gives us better UI design / code separation.
  3. WPF enables new features that would be cost prohibitive without the GPU. However, Visual Studio is large and we won't be able to realize all the benefits in a single release.  Hopefully though we'll be able to do enough that you will find it worth while.
  • Anonymous
    May 13, 2009
    My top three reasons for wanting a 64-bit devenv.exe:
  1. Add-ins
  2. Add-ins
  3. Add-ins Analysis add-ins such as Refactor, CodeRush, NDepend, Dotfuscator Pro, MemProfiler and the like eat quite a bit of memory, especially with a large solution. I have to resort to running some of these stand-alone (NDepend, Dotfuscator), losing a fair amount of integration with VS.
  • Anonymous
    June 26, 2009
    Hi Team, this is Parshu, my system runnung with VS2008 and VS2005 and here i am facing the Performace issue. my system getting dead slow when i open both the Environments this is my Sys configuration: 1.83Ghz CPU. 1GB RAM 160 GB HARDDISK Please suggest me if i need to upgrade my sys Configuration. Thanks in Advance Parasu

  • Anonymous
    June 26, 2009
    Parashu, The short answer is a qualified, yes - you should upgrade your hardware.   Here's why:

  1. You didn't say anything about your OS or the size of your solutions.  With only 1 GB of RAM - if your running XP, and if youre solutions are fairly small, then you may be okay where you're at.  But, if you're running Vista or your solutions are large, then you're going to see some significant performance improvements from moving up to 4GB.  And once you move to 4GB, if you're not running Vista, you're also missing out.  With sufficient memory, Vista will do a better job of caching the hard disk than XP, so you'll see faster loads and fewer stalls.
  2. I'm assuming from the CPU speed and memory that your system is at least a couple years old.  As noted in point #2 in my original post, older systems tend to lack the cache and other micro-architectural advances of newer systems.  So moving to a modern 2.x ghz system will probably result in a major speed up of anything that's CPU bound.  Additionally, modern systems tend to have built in disk cache and better video systems.  
  3. You didn't say how many CPUs you have, so I'm assuming one.  Almost everything I'm buying these days is dual or quad (and the rest is 8+ procs, I'm not buying any single proc machines - even most netbooks are hyperthreaded).  VS isn't terribly multithreaded, but parts of it are.  But at the same time, you said you're running VS2005 and VS2008 at the same time.  Plus you're probably running other applications, and the OS has lots it wants to do.  So you're probably missing the opportunity to parallelize work and improve responsiveness.   Finally, you asked about VS2005/2008, and I assumed above that was your primary focus.  But the original post is about VS2010.  VS2010 adds a lot of functionality and leverages WPF.  You're going to want multiple CPUs, a good video subsystem, and lots of memory to leverage everything we're providing, especially if you're going to be running multiple copies or VS2005/VS2008 at the same time.  
  • Anonymous
    July 21, 2009
    why Microsoft did not use ribbon UI in Visual Studio 2010 like Office 2007 and 2010

  • Anonymous
    July 22, 2009
    Changing to a Ribbon UI would require a substantial rework of the UI and it's not clear that Visual Studio would benefit as much as Office (I like it too).  If you've got a lot of thoughts on why a ribbon UI would make you more productive, you might want to post them over on Jason Zander's blog or Soma's blog, as they're going to be much more involved in that decision than we will.  (If you have thoughts on why a Ribbon UI would make VS faster, then by all means, post them here.) Changing to a Ribbon UI would be pretty disruptive.  Given that we're already replacing the editor, the shell, and completely reworking the multi-targeting system, I doubt that we could have handled a Ribbon UI in this release.  While it might seem easy to rework the toolbars into a Ribbon UI while we're replacing the shell, it's not.  That's because a lot of effort around the shell goes into making sure that the new shell has similar APIs and performance to the old shell, to minimize the disruption.  Changing to a Ribbon UI would have substantially increased the disruption around changing to the new shell.  It's really best to do those type of changes in stages.

  • Anonymous
    October 29, 2009
    I'm surprised at Microsoft. I'm running a web server, lots of tools, services, and apps to help me develop programs.  These are all in addition to all of the instances of Visual Studio that I may be running. The above reccommendation "So the general rule of buying systems still applies – spring for as much memory as you can afford.  It’s hard to have too much memory" is heartily heard.  I have 4GB, on a (sigh) 32-bit operating system.  So, I can only use roughly 3.2GB of it. I have to constantly watch my memory usage to ensure that I'm not out (thrashing my HD by paging). So, I've followed the recommendations by getting as much Memory as the 32-bit OS allows. Now I'm waiting for a 64-bit version of Visual Studio so that I can move to a 64-bit OS? I could move to a 64-bit OS now, but I have heard stories of a 50+% performance penalty running Visual Studio on such 64bit OSes. How long am I going to have to develop on a 32-bit OS?  Well, probably until Microsoft ports VS to 64-bit. At some point I'll probably stop waiting an run a 32-bit OS on a Virtual PC (or on Windows 7's "Windows XP Mode").  Too bad VS is not written for the current OSes...

  • Anonymous
    October 29, 2009
    Ryan, The 32 bit VS runs just fine on a 64 bit OS.  I personally run 64 bit OSes at home and work.  I don't see a 50%+ performance penalty.  And if you do run VS on a 64 bit OS, you'll pick up an extra 2GB of VM (on a 32 bit OS VS gets 2gb of VM, on a 64 bit OS it gets 4GB). You can go the virtualization route, but it's not necessary and will probably hurt your performance, so I wouldn't do it unless you have a really good reason. Dave Berg

  • Anonymous
    August 29, 2010
    I have Window XP Professional service pack 2 can i install visual studio 2010. please provide me changes i have to make and which is the best web site to download for free use for entire lifetime

  • Anonymous
    August 29, 2010
    The comment has been removed

  • Anonymous
    October 10, 2010
    Hello, i am planning to buy a netbook to use Visual studio while travelling, i dont know anyone who has a netbook to ask their opinion or try it on. What do you think, is it possible to make VS work in  a reasonable way on a netbook and do you have any specific brand or model that you recommend? Thanks...

  • Anonymous
    October 10, 2010
    Orkun, Brian Harry, I, and others have used Visual Studio on a netbook meeting minimum specs.  It's usable, but I wouldn't call it a great experience.   In general you're limited by the size of the screen, the speed of the hard drive, the quality of the video graphics sub-system, and (at least for me) the size and layout of the keyboard.  If I was personally buying a system, I'd spend a few hundred more and get a good laptop instead.  I have large hands that don't fit the keyboard, keys I frequently use are poorly placed and require using the function key, and performance could be better.  I also tend to have lots of windows open which chews up lots of memory. However, it depends a lot on what you're doing and your own working style.  It might work well for you. I can't recommend particular brands, but I would suggest getting as much memory as you can, make sure the disk isn't too slow, and make sure your machine has a decent video sub-system. Regards, David

  • Anonymous
    October 10, 2010
    Hello David, Thank you very much; Actually i am a beginner, i had a little  experience with ASP script before, but now i began a serious 8 months 300 hours C# course. I live in istanbul where we have enormous traffic at rush hours, that is, it takes 2,5 hours while i go to and back from work daily and on a bus where the space is limited also. What i am going to do is to repeat and study the lessons and projects. I think a decent netbook will do the work for me since using VS on a netbook does not make developers like you cry... Regards,

  • Anonymous
    April 01, 2011
    hello i installed windows 7 as my OS. when i am trying  to install visual studio 2010  in my system it is not responding and the ram is overloading and the system is turning off why?what is the problem in it? my system hardware requirements are HD-260GB Ram-1GB processor-2GZ( intel core) please suggest me what was the problem.

  • Anonymous
    April 04, 2011
    Siva, You may want to work with someone who can step through the problem with you in more detail (phone support or one of the support forums).  For install problems you may want to check out Heath Stewart's blog: blogs.msdn.com/.../heaths.  Regardless, we'll need more information on the problem (specific error messages, logs, why you think "ram is overloading", etc). Thanks, David

  • Anonymous
    July 13, 2011
    I am not able to run Microsoft Visual studio 2010 on my AMD dual core 4200+ processor with 1 GB Ram. While It riuns on intel dual core with 1 gb Ram. Error is : Setup Failed ! (After installing some initial objects)

  • Anonymous
    July 13, 2011
    Prabhjot, I'm not much of an expert on setup, but my guess is that there is some other issue going on that has nothing to do with the chip manufacturer.  Your best bet is to contact Microsoft support or you can check out Heath Stewart's blog on Visual Studio / NETFX setup: blogs.msdn.com/.../heaths.