Take the 2-minute tour ×

I have been doing some research to buy a laptop for software development. I have been told by one of my co-worker that having a processor over 2.2 GHz with 7200 RPM HDD makes no sesne. He said that since HDD is 7200 (fastest as of now in laptop), it won't make any difference if your processor is faster than 2.2 GHz.
Do you guys agree??? If not then why not??? I'm trying to get a fast laptop with light weight. Thank a bunch in advance.

share|improve this question

migrated from stackoverflow.com Dec 7 '09 at 14:42

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

He is completely wrong; just because you have a slow hard drive doesn't mean you should have a slow processor too. –  SLaks Dec 7 '09 at 14:35
I think this question is related to Superuser.com –  Gergely Orosz Dec 7 '09 at 14:36
Your co-worker is just plain wrong. While a slower HDD will affect the speed of programs loading, and quite possibly affect overall system speed in low-memory situations, it will not limit the usefulness of a faster processor. –  Mokubai Dec 7 '09 at 17:31

4 Answers 4

From one of Google's presentations:

Send 2K bytes over 1 Gbps network.................. 20,000 ns
Read 1MB sequentially from memory ................ 250,000 ns
Round trip within same datacenter .................... 500,000 ns
Read 1MB sequentially from disk ...................... 20,000,000 ns
Send packet CA->Netherlands->CA .................. 150,000,000 ns

Now, look how fast is your disk read to compare it with CPU operations?

share|improve this answer

You should buy a laptop with the fastest processor you can. It should also have a discrete graphics with it's own memory.

Don't worry about the harddrive as you can easily buy replacements pretty much anywhere, newegg, frys, bestbuy, or whatever computer store is near you.

SSD is quickly replacing normal hard drives in laptops and every year they are faster and more reliable.

You mentioned using the laptop for development. Dev tools do a LOT of things that are not hard drive dependent. A faster processor will definitely be felt. Further, some dev tools, like Visual Studio for example, benefit from a discrete graphics card. Especially when that card has it's own memory and isn't stealing from the laptops normal ram.

When I buy laptops, I get the fastest processor with discrete graphics. I order them with the least amount of memory and slowest hard drive possible. Then I buy replacement ram and a hard drive from somewhere like newegg. The reason is that laptop manufacturers are going to use the cheapest stuff they can get away with; further they charge an arm and a leg for those upgrades and it is ALWAYS cheaper to just pick up those parts elsewhere.

share|improve this answer
Interesting strategy, and methinks a good one. I think I'll try that next time I buy a laptop. –  mmyers Dec 7 '09 at 20:23

Whilst for many operations, disk I/O is the weakest link as far as speed is concerned, There are many activities you do on your machine that are not hard drive related - and the faster your CPU, the faster these tasks will complete.

Anyway, That aside, you can always upgrade your hard drive to a SSD later where as upgrading your CPU is always much trickier and harder - and not usually financially worth it.

share|improve this answer
If it is even possible in said laptop... –  Buggabill Dec 7 '09 at 14:36
Wil, I"ll be strictly using that lap top for software development where there is a lot of reading and writing on HDD. You are right on the money that buying a faster laptop and later upgrading to a faster HD when it's available thou I think i'd take a long time till we get 100,000 RPM HDD in laptops. –  Sheraz Dec 7 '09 at 14:39
@Sheraz: Dev tools do a LOT of things that aren't dependent on the harddrive. BTW, given SSD, we will probably never see 10,000RPM or better drives in laptops. At some point even desktops won't have them –  Chris Lively Dec 7 '09 at 14:46
@Wil: Upgrading CPUs in laptops is usually more expensive than just replacing the laptop itself when it's time. I'm talking about just buying the processor. Never mind that manufacturers rarely update the laptop motherboard bios to support faster chips anyway. –  Chris Lively Dec 7 '09 at 14:48
...@Chris.lively, I know, that is what I said its trickier and harder - I didn't mention price but implied that - I will change so it is a bit more obvious. –  William Hilsum Dec 7 '09 at 14:57

Your co-worker has no idea what he's talking about

The majority of the applications you will ever run on your system make heavy use of files on disk.

Basically, when you run a program, that program is loaded in memory. As long as that program is active it will be living and running in memory and the majority/if-not-all tasks the program undertakes will be in memory.

Many running programs are optimized even further by using a cache (which is an even faster intermediate type of memory built directly into the processor).

The exception to the rule are programs that read a file from disk (and buffer to memory). Think your file manager (ex windows explorer) and media applications like iTunes and VLC.

A faster HDD will make these tasks faster:

  • loading the OS
  • copying/moving files
  • loading/saving files
  • defragmenting a disk
  • browsing files
  • watching movies (which will usually only stutter if you're doing heavy disk operations with some other application, like, copying files).

Other than that a faster HDD will show little improvement in performance.

If you want to increase performance, get a faster processor and more memory. A faster processor will allow your computer to accomplish tasks faster. More memory will allow you to run lots of large applications on your computer without the performance hit caused by the OS swapping out page files with the memory runs low.

4GB is enough memory for most general computer use. 2.2GHZ is enough for most computer use (Ie, software dev) but adding cores/processors will allow your computer to still have a 'snappy' feel even if one program is hogging processor time because that application can be isolated to a processor that the OS doesn't run on (your OS already optimizes multi-core/multi-processor task management so you don't even have to think about it).

Multi-core/multi-processor perform better because they allow your computer to do multiple things at once. Before multi-core/multi-processor systems your computer could only really do one thing at once. To trick the user into believing that the system was doing multiple things at once it swaps processing between all of the programs extremely fast. How fast? Well, your screen redraws every other line 60 times a second, task switching happens much faster than that. The problem is, all that swapping between programs takes time (and hurts performance). Adding cores/processors cuts down on the task switching thereby increasing performance (except in older and poorly designed applications that are designed to only use one core).

In short, your coworker has no clue what he's talking about. It would be a good idea to ignore any advice he has to offer about computers.

If you're really interested in learning software development, you should become very familiar with all of these terms (what they mean, how they affect your program's performance, etc).

For a pretty dense but extremely informative lecture series on these topics check this out. Knowing in detail how the processor, disk access, threading, virtual memory, how your operating handles task switching, etc, etc, etc, is essential to being a good programmer because these topics will affect every program you'll ever write.

If you're learning web development, this stuff is still important but you'll have less control over it and it's probably a better idea to learn as much as you can about networking.

share|improve this answer

Your Answer

