preload is an adaptive readahead daemon. It monitors applications that users run, and by analyzing this data, predicts what applications users might run, and fetches those binaries and their dependencies into memory for faster startup times.
- Proof that I'm an idiot.
- Make state parsing work again.
- Correctly fix the previous fork craziness issue. Real cause of the bug
revealed to me by Kai Krakow.
- Do O_NOATIME when readahead'ing.
- Fix bug where preload was spawning thousands of processes. I have not
fully understood how that happened, but the fix is right. Still
- Revert a previous change: Start daemon on runlevels 2345 by default.
- Implement various sorting strategies, defaulting to sort based on disk
block. Note that there was a bug in previous releases, causing no sorting
to happen at all. Not even on file path. The added config key is called
- Implement parallel readahead. A new config key system.maxprocs controls
that. Defaults to 30 processes.
- Implement readahead request merging.... read more
* Improved build system.
* state file moved from /var/preload to /var/lib/preload to follow FHS.
* LSB INIT INFO block added to the preload.init template.
* A crasher with access control lists not matching a file fixed.
* Fix crasher on 64-bit systems.
This is the first public release of preload. It runs as a daemon and
monitors processes through /proc and predicts applications that may
run and prefetches binaries and shared object. In my experience, it
reduced the startup time of OpenOffice.org writer right after a reboot
from 13 seconds to 7 seconds, and Firefox from 9 to 7. It also decreased
the time from entering login/password information in gdm to a usable
dekstop is loaded from 37s to 32s. On the other hand though, the time
from power button is pressed to gdm login screen is functional, was
increased from 65s to 85s, due to excessive harddisk activitiy caused