You can reduce the level at which ubuntu uses the swap partition (similar to the the virtual memory in windows) and instead force it to use your ram. This can be done by reducing your systems 'swappiness' and it's 'cache pressure'. See here for full details. What i do, is to enter these two lines in to /etc/sysctl.conf, just before the first row of hash marks.
The end user experience is that i can load amarok, which takes about five seconds. Then i completely close it. When i open it again, it loads from ram and takes about two seconds to load.