Why doesn't WD Velociraptor speed up my compilation of VC ++?

Several people here have recommended switching to the new WD Velociraptor 10000rpm hard drive. Magazine articles also praise the performance. I bought one and mirrored my old system. As a result, an increase in compilation speed is somewhat disappointing:

  • On my old Samsung drive (SATA, 7200), the compilation time was 16:02 .
  • On Velociraptor, the assembly takes 15:23 .

I have an E6600 with 1.5 GB of RAM. This is a C ++ project with 1200 files. The assembly is performed in Visual Studio 2005. Acoustic control is disabled (no big difference).

Has something gone wrong or is this modest acceleration really everything I can expect?

Edit: Some recommended increasing the amount of RAM. I did it now and got the minimum gain (3-5%), doubled my RAM to 3 GB.

+6
performance compilation visual-c ++ hardware
source share
10 answers

Do you use the / MP option (undocumented, you must enter it manually in your processor options) to enable parallel assembly of the source level? This will speed up compilation much more than just a fast hard drive. Profit from this marginal.

+6
source share

Visual Studio 2005 can create several projects in parallel and will do this by default on a multi-core computer, but depending on how your projects depend on each other, they may not create parallel assemblies.

If your 1200 cpp files are in the same project, you probably aren't using your entire processor. If I'm not mistaken, the C6600 is a quad-core processor.

Dave

+2
source share

I believe reading the hard drive was not your bottleneck in compilation. Actually, few things need to be read / written from / to the hard drive. Most likely, you will see an increase in performance from a larger bar or a faster processor.

+1
source share

I would suggest from the results that either your hdd latency was not the bottleneck you were looking for, or that your project is already close to building as quickly as possible. Other points to consider:

  • hdd access time (although you may not be able to do much with this due to bus speed limitations)
  • RAM speed and size
  • Processor speed
  • Reduce background processes
+1
source share

~ 6% increase in speed only from improving your hard drive. Just like howler said. Take some quick ram and pcu.

+1
source share

As already noted, you probably did not attack the real bottleneck. Randomly changing parts (or code, for that matter), as you can say "bass-aki." First you identify the performance bottleneck, and then you change something.

Perfmon can help you get a good overview if you are connected to the CPU or I / O, you want to look at CPU usage, disk queue length and IO bytes to get a first look at what is happening.

+1
source share

This is actually a pretty big blow to the ease of replacing a hard drive. At the moment, you are probably related to a memory or processor. Nowadays, 1.5 GB is on, and the RAM is very cheap. You can see some pretty big improvements with a lot of memory.

As a recommendation, if you have more than one drive installed, you can try installing the build directory on a different drive than the original ones.

Regarding this comment:

If your 1200 cpp files are in the same project, you probably aren't using your entire processor. If I'm not mistaken, the C6600 is a quad-core processor.

Actually, the C6600 is not something. There are E6600 and Q6600. The E6600 is a dual-core processor, while the Q6600 is a quad-core processor. I use a quad-core processor on my dev machine, and although our project has more than 1200 files, it is still an EASILY processor, limited at compile time (although a faster hard drive will still help speed things up!).

+1
source share

There are a lot of 1200 source files, but none of them can exceed a couple of hundred K, therefore, as long as all of them must be read in memory, this will not take much time.

Putting your system memory on 4G (yes, yes, I know that 32-bit OSs have a 3.somethingorother limitation), and perhaps looking at your processor will give you much more performance than just using faster disk drive can.

0
source share

VC 2005 does not compile more than one file for each project, so either switch to VC 2008 to use both of your processor cores, or split your solution into several projects with several libraries to get several compilations.

0
source share

I reduced the build time by putting all the source code on the ram drive.

I tried these guys http://www.superspeed.com/desktop/ramdisk.php , installed 1GB ramdrive, and then copied all the source code to it. If you create directly from RAM, I / O overhead is significantly reduced.

To give you an idea of ​​what I am compiling and about:

  • 64-bit version of WinXP
  • 4GB RAM
  • 2.? GHz dual core processors
  • 62 C # Projects
  • approximately 250cc

My assembly went from 135 to 65 years.

The disadvantages are that your source files live in RAM, so you need to be more vigilant about source control. If your machine has lost power, you will lose all irreversible changes. Slightly softened due to the fact that some RAMdrives will save themselves on disk when you close the machine, but still you will lose everything from the last discharge or the last shutdown.

In addition, you need to pay for the software. But since you're shelling hard drives, perhaps this is not such a big deal.

Upsides is an increased compilation time and the fact that exes already live in memory, so startup time and debugging time are slightly better. However, the real advantage is compilation time.

0
source share

All Articles