comparing PDP-11 program sizes to modern Linux/BSD sizes are in bytes unix v5 cc modern linux gcc PDP-11 arch x86 arch ------------ ---------------- bignum bignum 984 3136 unirubik unirubik 4586 (-Os 4526) 8336 (with -Os 6372) sh (thompson) sh (bash 3.1.17) ash 7000 678832 94560 ps ps 2660 63948 libc libc 21542 2979634 (almost 3 megabytes) 85 functions 1425 functions traditional static library libc.a v2 31 functions 5,242 bytes libc.a v5 85 functions 21,542 bytes libc.a v6 74 functions 22,042 bytes new functions ptrace, mcount, csv, cerror, atoi, abs math functions were moved to liba.a libc.a v7 154 functions 77,690 bytes new functions access, acct, alarm, aldiv, almul, alrem, atol, calloc, chroot, clerr, crypt, ctype, cuexit, data, doprnt, doscan, ecvt, endopen, execle, execve, execvp, fakecu, fakefp, fdopen, fgetc, fgets, filbuf, findiop, flsbuf, fopen, fprintf, fpsim, fputc, fputs, freopen, frexp11, fseek, ftell, gcvt, getchar, getenv, getgrent, getgrgid, getlogin, getpass, getpwent, etc 47 core functions common to v5 and modern linux 51 core functions common to v6 and modern linux 99 core functions common to v7 and modern linux /lib/Slibc.a in Xenix with 318 functions has 151,810 bytes /lib/libc.a in 2.11bsd with 347 functions has 233,788 bytes /usr/lib/libc.so.5 in toms root boot has 416,361 bytes /lib/libc.so.5.4.44 in Basic Linux 3.5 has 580,816 (based on slackware 4.0 from 1999) /usr/lib/libc.a in openbsd with 844 functions is much larger at 8,677,666 /lib/libc-2.13.so in fedora 14 at 1,847,224 bytes musl libc.a 1,660,122 bytes