Sunday, January 17, 2010

Speed up compilation process with Ram Disk

I often review my software development toolbox to check if I my development process is actually optimal. Recently I was looking around if there is something new in the area of compilation time improvements. There are classics like IDE settings for Visual Studio and even more for Eclipse, maximum amount of RAM (unfortunately my notebook has 4Gb limit) and speedy hard disk options like 7200RPM and SSD disks. But there is something new (for me at least). All of you are familiar with DVD disk virtualization utilities. But what if we could have a virtual RAM disk? Something like ramdrive.sys from MS-DOS times. Then we could put our complete project folder on that disk and theoretically the compilation process, which has lots of disk read/writes, should speed up.

Before you try this option on your current project I should remind you that in case ram disk fails you loose all your work since the last backup! All these utilities provide persistence to disk image file, but how do you know that it won’t be corrupted somehow. I hear you saying that you often commit to your source control, so do I. Then in case of your very unlucky day when everything just breaks you should lose at most a few hours of work.

Below is the list of utilities:

QSoft Ramdisk –  My choice. Commercial but free for 6 months and a good price. Just runs. Runs on 64bit Windows. Do not be afraid of their confusing web site :)

Dataram Ramdisk – Would be my choice. Commercial with free option for up to 4Gb size disks. Seems to be the most popular and convenient, but I could not run it on Windows 7 64bit (compatibility mode does not help)

Superspeed – another popular commercial utility with lots of features.

Farstone Virtual Hard Drive PRO – commercial. Seems to be a good option with good reviews on blogs.

Softperfect Ramdisk – commercial. I did not try it myself

VSuite Ramdisk – commercial. I did not try it myself.


Alper said...

Configuring ramdisk is easy in Linux and you don't need addition software. I think, Linux is always a good choice for developers who need tricks and full control over OS.

Vitaliy Tsvayer said...

Alper, I completely agree with you, nothing to add here :) Locating,installing and updating software under Linux is way easier than under Windows. But sometimes I have to work in Visual Studio. Another reason is Microsoft Outlook. Yet another reason is/was Ericsson SDS (although there are some attempts to run it under Linux). So, currently I prefer Windows 7 host with Ubuntu running inside VirtualBox (I know you do the opposite :)
By the way, allocating RAM disk for project files under Windows 7(and Vista) with 4Gb of RAM turned out to be not such a good idea. Windows 7/Vista aggressively caches repetitive disk access by default and fills those 4Gbs quite quickly. So, taking from it makes it worse not better. But I believe it would speed up things under Windows XP.

sqiar said...

Thank you very much for this article, it is so rare to see nowadays written as fervently article. I enjoyed reading it and I learned a lot of things. I will go and continue reading your blog =). Good luck for the future and another one for the quality of it.You can also check out this (

Post a Comment