I am enclosing the config file for a machine of mine which has hardware
suitable for running 1.3, 1.4, and 1.5.
Essentially the *same* configuration for 1.3.3 was 587K. For 1.4.2 it's
690K (a 18% increase in size). For 1.5_ALPHA it's 839K (a 22% increase).
Note that these are not GENERIC kernels, reflecting new and useful hardware
now supported. These kernels are stripped down to include *only* the
hardware the machine includes, and have had things like "isa at pcib" and
"EXEC_AOUT" removed that almost nobody removes from their kernels (but could).
The 1.3.3 kernel took 126 seconds to build. The 1.4.2 kernel took 153
seconds to build. The 1.5_ALPHA kernel took 262 seconds to build on
a somewhat faster machine than the first two.
Not only are we getting worse, the rate at which we're getting worse is
increasing significantly. Shame on us!
We noticed a couple of obvious crocks of s____ while doing this test (and
some associated benchmarking). One was the EXEC_AOUT presence in std.i386,
when AOUT is *not* the default object format. With this in the file that
provides the "machine i386" statement no naive user will ever understand that
he can remove it safely. The other was that even kernels with *no* COMPAT_
options include about 50K of useless "compat" stuff (but this was true for
1.4.2 as well, which means that our bloat is increasing even faster than it
might seem).
The rest of the bloat, I can't account for. Sigh. Given the cache effects,
this probably makes us run slower, too.
Summary:
Version Size Number of .o files Time
NetBSD-1.3.3 587K ?? (didn't keep this info) 126 sec
NetBSD-1.4.2 690K 257 286 sec
NetBSD-1.5_ALPHA 839K 281 262 sec**
**built on different, faster machine
--
Thor Lancelot Simon tls@rek.tjls.com
"And where do all these highways go, now that we are free?"