Boring statistics [ was Re: 6.1 release branch ]

Ken Moffat ken at kenmoffat.uklinux.net
Wed Apr 6 15:44:41 PDT 2005


On Fri, 1 Apr 2005, Matthew Burgess wrote:

>
> PS: SBUs, disk usage and package tarball size reports would be most
> welcome, from anyone with the necessary scripts to record them.  I think
> the upgraded packages should be pretty accurate, but I've not done a
> full system build with them yet, so I don't think all stats are up-to-date.
>

These usage (assumed maximum, i.e. generally space used after installing
and before blowing away the source) and SBU figures are from a manual
build on i586 (I had so much trouble with 6.0 I decided to walk myself
through it this time before trying to update my scripts).  This is a
somewhat slow box ( 1 SBU = 18m25.2 ), with a slow disk, and using a
sort of LFS-5.1 host (gcc-3.3.5, binutils-2.14.90.0.8).  Worth spelling
this out because a small change in the absolute SBU can change some of
these values (e.g. pass 2 binutils is actually an exact 1.35 SBU here,
rounded to 1.4).  Also, of course, some changes on the host might change
what gets built and tested in chapter 5 (e.g. missing makeinfo).

Looking at the "old" packages in the book, I begin to think that chapter
5 space and time include running all tests, but chapter 6 don't!
Needless to say, my chapter 5 only had the essentials, but chapter 6 had
all the tests.

My figures are all without CFLAGS, CXXFLAGS, LDFLAGS.

We seem to have some inconsistencies creeping in to the presentation -
from memory, LFS SBUs should have a resolution of 0.1 SBU and a minimum
of 0.1 (I know BLFS goes for a finer resolution now, although I don't
believe the figures are that repeatable even on an unloaded box).  Also,
I think the policy for space used is tenths of a megabyte between 1.0 MB
and 10 MB, then whole megabytes - I can't remember what was agreed for
packages taking less than a MB.

No figures for tarball sizes, mine aren't all in the .bz2 format.  Also,
no figures for the kernel compile.

I've put these all in one sequence, even those where I agree with the
book, to make this easier to relate to the book.  And I start to wish I
hadn't started this, even just putting the data into this mail is time
consuming.  Anyone for trivial|quick|average|long (times) and
tiny|small|average|big|glibc (space) ?  Of course, somebody would still
have to periodically time and measure to make sure packages were still
in the correct category :-(

Chapter 5

binutils pass 1 obviously 1.0 SBU, 200 MB here (book 194 MB)

gcc pass 1 no comment on space, I used the full tarball, but only 3.9
SBU here, book suggests 4.4 (maybe it hasn't changed since static
linking ?)

linux-libc-headers-2.6.11.2 obviously 0.1 SBU, 27 MB (book 22 MB)

glibc-2.3.4 without locales so only 5.3 SBU 304 MB, you may wish to
include the time for some or all locales in the book.

tcl-8.4.9 - tried the tests, but I can still only get up to 0.5 SBU (0.3
without), book has 0.9 SBU.  Agree 23 MB.

expect-5.43.0 (0.1 SBU, 4.0 MB - agree)

dejagnu-1.4.4 0.1 SBU fairly obviously, but only 6.1 MB (book 8.6 MB) -
like many of these differences, it isn't really worth sweating this, the
space is immaterial, but it does make me wonder about some of these
figures :)

gcc-3.4.3 pass 2 - ok, I used a full tarball, which might add a slight
overhead if it goes into directories then finds nothing to do, (although
that doesn't seem to show up in pass 1), but mine took 17.1 SBU
including the tests.

binutils-2.15.94.0.2.2 with tests 1.4 SBU here (I'm not arguing against
1.5), space 144 MB (book 108 MB).

gawk-3.1.4 0.2 SBU and 17 MB - agree.

coreutils-5.2.1 - my figures are 0.5 SBU and 55 MB, I guess the book
includes the tests.

bzip2-1.0.3 0.1 SBU and 4.0 MB - book says 2.5 MB.

gzip-1.3.5 0.1 SBU and 2.1 MB which is below the book's 2.5 MB.

diffutils-2.8.1 0.1 SBU and 5.9 MB (book has 7.5 MB).

findutils-4.2.20 I have 0.1 SBU and 8.7 MB, maybe the book includes time
for the tests, but its 7.6 MB is low.

make-3.80 0.1 SBU and 7.6 MB (book 0.2 and 8.8, again perhaps related to
running tests).

grep-2.5.1a without tests 0.1 SBU, 4.8 MB (book 0.1, 5.8 - might be
related to running tests, but inconsistent with my chapter 6)

sed-4.1.4 0.1 SBU, 6.1 MB (book 0.2, 5.2 - maybe the size is from a
previous version)

gettext-0.14.3 without tests 0.8 SBU, 62 MB (book 0.5 SBU, 55 MB)

ncurses-5.4 0.5 SBU, 27 MB (book 0.7, 26) - again, one of hte not very
important discrepancies

patch-2.5.4 0.1 SBU, 1.5 MB (0.1, 1.9) ditto

tar-1.15.1 without tests 0.2 SBU 13 MB (book 10 MB)

texinfo-4.8 without tests 0.2 SBU and 16 MB - agree

bash-3.0 without tests 0.3 SBU and 21 MB - book longer and bigger, maybe
the tests

m4 : I used 1.4.2 because that was in the book when this build started

bison-2.0 without tests 0.1 SBU and 10.0 MB (book 0.6 and 10.6 - my
chapter 6 figures imply 0.8 and 10.2 with tests)

flex-2.5.31 without tests 0.1 SBU and 7.9 MB (book 0.6 and 10.6,
possibly a dup of the bison values)

util-linux-2.12q 0.1 SBU and 9 MB (book 0.2 and 16 MB)

perl-5.8.6 0.5 SBU and 80 MB (book 0.8 and 74 MB)

stripping - not attempted, I want to be able to use gdb if I need to.

[surfaces for air/]

Chapter 6

linux-libc-headers-2.6.11.2 0.1 SBU 27 MB (0.1, 22)

man-pages-2.01 0.1 SBU, 35 MB (0.1, 15)

glibc-2.3.4 with tests (-k, this is i586) and *all* locales 11.1 SBU,
471 MB (book 12.3, 784) - something is seriously amiss here.  I can see
that defining _all_ the locales individually would be expensive in terms
of time (repeated program start-up), but the book's figures are
considerably bigger than mine.

binutils-2.15.94.0.2.2 1.3 SBU and 163 MB (book 1.3 and 118.3 which
apart from being too small is unnecessarily precise)

gcc-3.4.3 (full tarball, tests) 14.9 SBU here (book - 11.7), I can't
comment on the space.

coreutils-5.2.1 with tests 1.2 SBU, 57 MB (0.9, 69)

zlib-1.2.2 with tests 0.1 SBU, 2.6 MB (0.1, 1.5)

mktemp-1.5 0.1 SBU, 424 KB (0.1, 317 KB)

iana-etc-1.04 0.1 SBU 1.9 MB - agree

findutils-4.2.20 with tests 0.1 SBU, 8.8 MB (0.1, 73)

gawk-3.1.4 with tests 0.2 SBU and 17 MB - agree

ncurses-5.4 0.5 SBU and 27 MB - book's 0.6 and 27 is probably as
reliable as my figures

readline-5.0 0.1 SBU and 9.0 MB (book 0.11 SBU - excess resolution - and
3.8 MB)

vim-6.3 with lang files and tests 0.4 SBU and 46 MB (book 0.4 and 34,
might be the language files, I couldn't see exactly what these are
supposed to achieve ?)

m4 : I used 1.4.2

bison-2.0 with tests 0.8 SBU, 10MB (book 0.6 and 10.6 which should
probably be rounded up or down)

less-382 0.1 SBU, 2.3 MB (book 0.1 and 3.4)

groff-1.19.1 0.4 SBU and 39 MB (book 0.5 and 43)

sed-4.1.4 with tests 0.1 SBU and 8.6 MB (book 0.2 and 5.2 - the SBU is
probably a rounding issue)

flex-2.5.31 with tests 0.4 SBU and 22 MB (0.1 and 3.4)

gettext-0.14.3 with tests 9 SBU and 65 MB (1.2 and 46.4 which might be
without tests but has a spurious decimal place)

inetutils-1.4.2 0.2 SBU and 8.7 MB (0.2, 11)

iproute2 : I used 050314 version

perl-5.8.6 2.5 SBU and 137 MB (2.9, 143)

texinfo-4.8 with tests 0.2 SBU and 16 MB (0.2 and 17)

autoconf-2.59 with tests 2.5 SBU and 8.4 MB (0.5 and 7.7, maybe without
tests)

automake-1.9.5 with tests 7.2 SBU and 1.7 MB (book 0.2 SBU but 6.8 MB)

bash-3.0 with tests 0.4 SBU and 20 MB (1.2 and 27)

file-4.13 0.1 SBU and 6.2 MB which I guess is close enough to 0.1 and
6.3

libtools-1.5.14 with tests 1.1 SBU,  20 MB (1.5 and 20)

bzip2-1.0.3 0.1 SBU and 4.4 MB (0.1 and 3.6)

diffutils-2.8.1 0.1 SBU and 5.9 MB (0.1 and 7.5)

kbd-1.12 0.1 SBU and 12 MB - agree

e2fsprogs-1.37 0.4 SBU and 39 MB (book 0.6 and 4.9 MB which looks
suspiciously like the *installed* space)

grep-2.5.1a 0.1 SBU and 4.9 MB (0.1 and 5.8)

grub-0.96 : not used

gzip-1.3.5 0.1 SBU, 2.2 MB (0.1, 2.6)

hotplug-2004_09_23 0.1 SBU 464 KB (0.01, which may well be accurate but
would open a whole can of worms, and 0.1 MB)

man-1.5p 0.1 SBU and 2.0 MB (0.1 and 1.9 which isn't worth arguing
about)

make-3.80 with tests 0.1 SBU and 7.5 MB (0.2, 8.8)

module-init-tools-3.1 with tests 0.1 SBU and 4.9 MB (0.1, 650 KB)

patch-2.5.4 0.1 SBU, 1.5 MB (0.1, 1.9)

procps-3.2.5 0.1 SBU, 2.2 MB (0.1, 6.2)

psmisc-21.6 0.1 SBU, 1.8 MB (0.1, 1.5)

shadow-4.0.7 0.3 SBU, 16 MB (0.4, 11)

sysklogd-1.4.1 0.1 SBU, 544 KB (0.1, 0.5 MB - agree subject to
consistency of presentation)

sysvinit-2.86 0.1 SBU, 1.0 MB (0.1, 0.9 looks like a rounding question)

tar-1.15.1 0.2 SBU, 13 MB (0.2, 10)

udev-056 0.1 SBU, 6.7 MB (0.1, 2.9)

util-linux-2.12q 0.1 SBU, 17 MB (0.2, 16)

stripping again : omitted

kernel - not measured


Time for me to think about overhauling my build scripts to cope with how
we now do things, I used to be able to just look at my stamps for time
in seconds, SBU, gross space, net space.  Running 'df' inside chroot
with nothing mounted is interesting, identifying which partition to fake
mount inside chroot (the device with /mnt/lfs) will be more interesting.

Unless people can get this information automatically, and without using
space on the lfs partition, it becomes a maintenance problem.

Anyway, hope hese figures are useful.

Ken
-- 
 das eine Mal als Tragödie, das andere Mal als Farce




More information about the lfs-dev mailing list