Brian Gough’s Notes

occasional GNU-related news

Autocache

At FOSDEM, Alfred (ams@gnu.org) came up with the idea of “Autocache” – a system-wide precomputed cache of autoconf tests that makes every configure script run instantaneously. A crazy idea that cannot work completely in practice, of course, but there might be something to it.

He sent me an implementation which works like this: you make a configure script from all the autoconf tests in Gnulib (excluding some obvious ones that should not be cached). The idea is to pick tests which are unlikely to change on a given system. You run this huge configure script once and make a copy of the resulting config.cache file. You then use this as an initial config.cache for any package you’re compiling.

I tested it on GSRC and it worked surprisingly well – out of ~100 packages there were only a handful of failures where somehow the cache had bad results. Here are the timing results for the top ten longest-running GNU configure scripts with/without autocache.

./autocache.png

One Response to “Autocache”

  1. Ralf Wildenhues Says:

    Hi Brian,

    thanks for doing this testing (and Alfred for writing it). Can you or Alfred make it available for inspection and further testing? Can you also show the computing time on your system for a ‘./config.status –recheck’ after configure has been invoked with -C? That would show how much is still left in cacheable tests. (On my system it is below 10s).

    Thanks,
    Ralf