Comment by arnejenssen
3 years ago
When doing my PhD around 2004 I was running simulations with Fortran programs to do optimizations. A genetic algorithm would call the Fortran program and change the parameters by creating input files and reading output files.
I found out that disk access was the bottleneck of the optimisations. So I used a RAM disk software to create a disk-drive in RAM. It increased the simulation speed by orders of magnitude.
Yes, I have something called a RAMLink, which plugged into the back of an "ancient" Commodore 64 or 128. The RAMLink is expandable up to 16MB of RAM. Keep in mind the computers had 64 or 128K.
Anyway, the RAMLink was powered but you could also get a battery backup for it (using a sealed lead-acid battery, like a miniature one used in a car). I could move an operating system called GEOS over to the RAMLink and watch it boot in less than 20 seconds, where it usually took 1.5 minutes to read off disks and eventually load. I could then move programs (word processing, graphics creation, terminal programs - you name it) over to the RAMLink and open and use them in 1-2 seconds max.
This is from 1990 technology, running on computers from the mid-80s. RAM Drives/Disks are awesome.
The Apple IIgs had RAM disk support built in. It was an immense help to eliminate floppy access if you had more than 1MB of RAM which few programs could take advantage of.
Yep, a few years ago we were doing stuff that would hammer ten or twenty GB of design files for some hours. Tried moving it over to RAM-disk - from the server's 128 GB RAM - and it ran a few times faster.
But in general it was not worth the setup hassle and the possible RAM-starving of other server jobs, stuff was generally not urgent.
Some years later (2015?) I tried to speed up the build of JavaScript projects by moving my dev-folder to a RAM-disk, but it didn't really move the needle. So disk-IO is not the limiting factor when building.
Or your OS started caching the filesystem more agressively to RAM, so any piece of code that does heavy IO is effectively put on a RAM-disk automatically.