My first setup used an initrd to accomplish what you mention. However, I used RH9, and at that time, initrd's were limited to 4 MB. However, this was enough to get the system running, and all variables which needed to be written off of the HD (SQL Database, logs, etc). I then mounted the HD as read-only and used it to start X and such.
I kept corrupting the SQL Database, because originally I had it read/write on the HD (2nd partition). This worked for about 2 years, then I switched to Puppy Linux, and the read/write parts are mounted from /dev/ram devices. This has been working for about 2 years now (maybe longer), and hos not corrupted the HD or SQL databases.
"Speeding things up" was not really my goal, I was more about reliability. However, the unit is a PIII 1 Ghz, and can rip dvds/CDs GPS Nav, and playback mp3s simultaneously without problem.
Just my 2 cents.