Possible Duplicate:
Developer’s PC - worth getting more than 8GB RAM?

Typically I'm running Windows 7 + Visual Studio 2010 + MySql server + MS SQL server. I'm using TDD with lots of BUILDs and refactoring. I do run unit tests frequently and Integration Tests less frequently.

My Goal is NOT to wait for the machine.

link|improve this question
do you need to run two sql servers at once? – soniiic Aug 20 '10 at 11:51
Why don't you do some tests and calculate this for yourself? – silky Aug 20 '10 at 11:51
This probably doesn't apply to you but "Windows 7 Home Basic" will not address more than 8GB. – Steve Weet Aug 20 '10 at 11:56
@soniiic Its all on 1 box ... @silky: thanks for the suggestion, that's why there is "Questions" ! – jalchr Aug 20 '10 at 11:56
2  
If you really never want to wait for your machine then RAM alone won't do it. You'll also need a good SSD. – Joachim Sauer Aug 20 '10 at 12:02
show 5 more comments
feedback

migrated from stackoverflow.com Aug 20 '10 at 19:13

This question came from our site for professional and enthusiast programmers.

closed as exact duplicate by Gnoupi Aug 20 '10 at 19:22

This question covers exactly the same ground as earlier questions on this topic; its answers may be merged with another identical question. See the FAQ for guidance on how to improve it.

10 Answers

up vote 3 down vote accepted

Assuming your OS is 64 bit...8GB and a SSD and all will be right in the world...I run 12GB and that gives me room to run a VM or two

link|improve this answer
That's my configuration ... a 64-bit system with SSD drive ... I have 6GB for RAM ... would that be enough??? – jalchr Aug 20 '10 at 11:58
1  
More than enough for today IMO. Unless you are building enormously huge projects, chances are everything you do fits easily within RAM already. Extra RAM can only be used for more disc cache, so it's diminishing returns especially if you've already sped up your filesystem by using an SSD. – bobince Aug 20 '10 at 12:03
1  
You have 12 GB and thus room for one or two VM's?! Woah... a colleague of mine used to develop on a client machine that had 2GB RAM working with 3 VMs at once each hosting a dev environment... – user24076 Aug 20 '10 at 19:13
feedback

4GB to ∞GB would be sufficient enough

link|improve this answer
Got 2GB myself on Win XP--and man that's painful. – Russ Aug 20 '10 at 11:52
So a min of 4 GB would do it ? I would go with 6GB – jalchr Aug 20 '10 at 12:00
5  
yep.. infinity gigabytes should do it – rmx Aug 20 '10 at 12:09
@Russ - strange. I still use an old laptop with 0.75GB RAM (and a significant chunk shaved off for the graphics) and I find it perfectly acceptable. After all, it doesn't take that long for any computer to insert a character in a text editor - that worked perfectly well decades ago. MinGW G++ and VC++ 2008 are likewise quite happy to work in that space, and rarely waste more than a few seconds at a time. Perhaps you're using precompiled headers - in VC++ I always found that meant every minor change to any header led to a complete recompile of almost everything, which is certainly evil. – Steve314 Aug 20 '10 at 12:38
@Steave: did you read abut the environment of the question? Visual Studio (probably not just for compiling, but as an editor as well) and 2 Database servers. Comparing that to "text editor" + MinGW is kind of missing the point. – Joachim Sauer Aug 20 '10 at 12:41
show 4 more comments
feedback

As much as you can buy. Even more if you're gonna program in C++ with templates :)

link|improve this answer
3  
Damn, I was going to say "as much as you can afford, then double it", but you beat me to it. – Paul Tomblin Aug 20 '10 at 11:52
feedback

You need more RAM.

link|improve this answer
1  
Yup, and you too ;) – jalchr Aug 20 '10 at 12:06
feedback

In the words of Ernest Hemingway : "Buy a lot of Ram"

Just think of a very large, no, the LARGEST number you can think of and multiply that by 8. That's how much ram you need.

{copyright Three dead trolls in a Baggie}

link|improve this answer
feedback

Simple answer for your scenario: 8 GByte of RAM should be enough. Digging deeper you will find that there is actually more to this.

Each development workstation has a bottle neck. Memory, CPU, disk I/O, etc. Once you resolve one bottle neck, a different one gets promoted. Not having to wait for the computer during software development will most likely be a reality for probably only very small or trivial programs or maybe if you are using an interpreted language.

I think "waiting" is relative. For example our main product takes about 20 minutes to build on the fastest computer we have. I consider that slow. Fortunately, we don't have to rebuild the 150+ projects all the time. And yet we have to wait for the computer. About 12 months ago building on the fastest machine took about 1.5 hours to 2 hours. We worked hard and a combination of faster machines and some tweaking of the build process helped to bring that down.

The gains in time were offset by additional time required for more automated test that were added over time.

Generally we found that in our case most of the time the limiting factor is disk I/O, so with each new development workstation we try to improve that parameter. We have the fastest Xeons you can get and we have 8 GByte RAM which is not completely used at any time (about a third is unused). Our product consists for about 10 solutions with about 150 to 200 projects (mix of C++ and C#).

If you have multiple solutions using msbuild (or nant) helps speeding the build and test execution as you avoid launching Visual Studio and loading the solution in the first place.

Bottom line: I think it depends on a number of factors. It is important that you continuously analyze the build and test process and improve the item that you identify as consuming most of the time. For example you may be able to run tests involving a database completely in memory by using a database system like SQLite. A lot of thinking and continuous maintenance will be required to alway keep the build and testing times low. And regardless what you do and how much you invest: I think it is unlikely that you will find a zero-wait-time workstation any time soon...

Good luck!

link|improve this answer
feedback

If you don't want to wait for the machine, then you need as much as you can throw at it, and as much as it will take.

link|improve this answer
Unless the CPU was the bottleneck. Or the disk. In which case, throwing more memory at it is wasting money... – Dean J Aug 20 '10 at 19:18
feedback

If You're using windows 7 and all this kind of things, solution is simple go for max amount of RAM Yours motherboard / OS supports ;)

link|improve this answer
feedback

For Sharepoint 2010 development, you need at least 8GB RAM.

Crazy isnt it....

link|improve this answer
feedback

2 gigs should be more than fine. 4 would be great.

More would be spending money you didn't need to spend. Run a task manager to see what your IDE and DB are using, and unless you're running a huge development dataset in the database, you shouldn't be using all that much.

link|improve this answer
feedback

Not the answer you're looking for? Browse other questions tagged or ask your own question.