[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[patches] EGLIBC size measurements for option groups
- To: patches@xxxxxxxxxx
- Subject: [patches] EGLIBC size measurements for option groups
- From: Jim Blandy <jimb@xxxxxxxxxxxxxxxx>
- Date: Tue, 18 Sep 2007 16:43:50 -0700
Here's a summary of the size effects of the various option groups.
Some notes:
- In all of these configurations, the sysroot does not include locale
data.
- Indentation reflects dependency: disabling the parent entails
disabling the child.
- The 'uclibc API' configuration is an EGLIBC with an API that is the
least superset of uClibc's possible with the existing option groups.
- The 'minimal' configuration has all option groups disabled.
Configuration Filesystem libc.so memory
============= ========== ==============
all 30.5 MiB (100%) 1225 KiB (100%)
no-EGLIBC_BSD 30.5 MiB (100%) 1224 KiB (100%)
no-EGLIBC_CHARSETS 23.3 MiB ( 76%) 1225 KiB (100%)
no-EGLIBC_DB_ALIASES 30.4 MiB (100%) 1222 KiB (100%)
no-EGLIBC_ENVZ 30.5 MiB (100%) 1224 KiB (100%)
no-EGLIBC_FSTAB 30.5 MiB (100%) 1224 KiB (100%)
no-EGLIBC_INET 26.6 MiB ( 87%) 1055 KiB ( 86%)
no-EGLIBC_ADVANCED_INET6 30.5 MiB (100%) 1221 KiB (100%)
no-EGLIBC_SUNRPC 28.6 MiB ( 94%) 1160 KiB ( 95%)
no-EGLIBC_NIS 29.6 MiB ( 97%) 1225 KiB (100%)
no-EGLIBC_RCMD 30.4 MiB (100%) 1214 KiB ( 99%)
no-EGLIBC_LIBM 29.2 MiB ( 96%) 1225 KiB (100%)
no-EGLIBC_LOCALE_CODE 29.5 MiB ( 97%) 1149 KiB ( 94%)
no-EGLIBC_CATGETS 30.5 MiB (100%) 1222 KiB (100%)
no-EGLIBC_SPAWN 30.4 MiB (100%) 1221 KiB (100%)
no-EGLIBC_STREAMS 30.5 MiB (100%) 1224 KiB (100%)
no-EGLIBC_UTMP 30.3 MiB ( 99%) 1214 KiB ( 99%)
no-EGLIBC_GETLOGIN 30.5 MiB (100%) 1223 KiB (100%)
no-EGLIBC_UTMPX 30.5 MiB (100%) 1224 KiB (100%)
no-EGLIBC_WORDEXP 30.4 MiB (100%) 1208 KiB ( 99%)
no-POSIX_REGEXP 30.1 MiB ( 99%) 1161 KiB ( 95%)
uClibc API 20.0 MiB ( 65%) 1041 KiB ( 85%)
minimal 16.3 MiB ( 53%) 883 KiB ( 72%)
For comparison, here is the same size measurement script applied to a
uClibc sysroot:
uClibc 6.5 MiB ( 21%) 227 KiB ( 19%)
The more interesting comparison, of course, is the libc.so memory
footprint, since it's little work to trim out files.
For reference, here's the 'uClibc API' option-group.config file. Note
that it does include networking support, but still manages to get down
to 85%.
OPTION_EGLIBC_ADVANCED_INET6 = n
OPTION_EGLIBC_BSD = n
OPTION_EGLIBC_CATGETS = n
OPTION_EGLIBC_CHARSETS = n
OPTION_EGLIBC_DB_ALIASES = n
OPTION_EGLIBC_ENVZ = n
OPTION_EGLIBC_FSTAB = n
OPTION_EGLIBC_GETLOGIN = n
OPTION_EGLIBC_INET = y
OPTION_EGLIBC_LIBM = y
OPTION_EGLIBC_LOCALES = n
OPTION_EGLIBC_LOCALE_CODE = n
OPTION_EGLIBC_NIS = n
OPTION_EGLIBC_NSSWITCH = y
OPTION_EGLIBC_RCMD = n
OPTION_EGLIBC_SPAWN = n
OPTION_EGLIBC_SUNRPC = n
OPTION_EGLIBC_UTMP = y
OPTION_EGLIBC_UTMPX = n
OPTION_EGLIBC_WORDEXP = n
OPTION_POSIX_REGEXP = y
I haven't gotten the chance yet to go after wide character support. I
still think that would make sense as the next priority, but I don't
want to promise quick results there. I'll mess around with this and
have some kind of story to tell by next week.