More speed on your box.

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

  1. #1 MRW
    July 29, 2008

    A question about this… does the pre-load make the boot-up time for the actual operating system noticeably longer?

    Thanks

  2. #2 dave
    July 29, 2008

    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.)

  3. #3 llewelly
    July 29, 2008

    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.

  4. #4 Hank
    July 29, 2008

    (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.)

    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.

  5. #5 Greg Ladeng
    July 29, 2008

    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.

  6. #6 dave
    July 29, 2008

    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…)

  7. #7 dave
    July 29, 2008

    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.

  8. #8 Virgil Samms
    July 29, 2008

    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.

  9. #9 Andrew
    July 30, 2008

    The best optimizer is more memory.