Do you want your Linux box to go faster? Throw it out the window!!!
No, seriously .....
Here is a trick that is already implemented automatically in some Linux distros. It is also found in Macs and Windows, but the Windows version of it is stupid.
The idea is to pre-load certain commonly used software into memory. This may affect your performance a great deal if you use a handfull of programs all the time and you have enough memory. For Linux "enough memory" is probably not very much for most purposes.
Here's a post giving some instructions. Let us know how it goes.








Comments
A question about this... does the pre-load make the boot-up time for the actual operating system noticeably longer?
Thanks
Posted by: MRW | July 29, 2008 1:35 PM
The pre-load takes time, but if it's done properly that time isn't added to the poweron-to-logged-in time. A decent implementation of the idea will run it in the background, which will take up resources that aren't going to making your system more responsive until it finishes, but won't prevent you from getting stuff done.
(I suspect that the "the Windows version of it is stupid" comment probably follows from most Windows preloaders blocking the boot sequence instead of running in the background after boot.)
Posted by: dave | July 29, 2008 1:48 PM
Although it's been a few years since I tried to optimize the responsiveness of a linux desktop, the last time I tried it, the biggest effect was achieved by not running gnome or kde.
Posted by: llewelly | July 29, 2008 2:40 PM
Reminds me of the opening words of the chapter on optimization in Practical C Programming.
I'm paraphrasing, "And now a word on optimization: don't".
Prolonging the boot sequence by preloading stuff the user might not want to use is really bad. I mean, wonder if their preloading heuristics take time of day into account because there is no way I'm running Excel on a saturday night.
Posted by: Hank | July 29, 2008 3:02 PM
Hank: Exactly. This is why this sort of optimization should be done by hand. For instance, I never, ever turn on one computer that I use without running three specific applications. Also, I use particular directories 90 percent of the time. I should preload the relevant application libraries, as well as caches to those directories.
With another computer I use, I never know what is going to happen. In fact, it should not even try to hook to the internet every time. It should just quietly wait for instructions. I would prefer to not have a piece of software second guessing this for me.
Posted by: Greg Ladeng | July 29, 2008 6:55 PM
Hank:
Reminds me of the opening words of the chapter on optimization in Practical C Programming.
I'm paraphrasing, "And now a word on optimization: don't".
The version of those guidelines that I'm familiar with is:
Optimization rule #1: Don't do it.
Optimization rule #2 (for experts only): Don't do it yet.
Most "optimizations" I see people doing end up slowing things down by interfering with automated tools that can do the job better, and a lot of the remaining ones have near-zero effect on types of workload that they weren't tuned and measured for.
(It's always fun watching people spend hours tweaking their code for "efficiency" and then get blown away by a decent optimizing compiler, but I imagine it gets less fun if you're one of the people who does that...)
Posted by: dave | July 29, 2008 7:23 PM
OK, so I obviously don't know how to use HTML quote tags... the first two lines (up to `...:don't".') were supposed to be quoting Hank.
Posted by: dave | July 29, 2008 7:26 PM
Right now I want a few of my Linux boxes to crash less frequently. The first response from the motherboard manufacturer is less than helpful.
Posted by: Virgil Samms | July 29, 2008 7:55 PM
The best optimizer is more memory.
Posted by: Andrew | July 30, 2008 12:30 PM