diff options
| author | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-08 12:28:08 +0200 |
|---|---|---|
| committer | Denys Vlasenko <vda.linux@googlemail.com> | 2009-10-08 12:28:08 +0200 |
| commit | a7bb3c1396056248a71ea188f217de3f4876947e (patch) | |
| tree | 88a5740d874fd62765f630531fff13d6c7f9a81d /docs | |
| parent | 57ce977a9700e2f78c92b15805ac6ca430e21f14 (diff) | |
| download | busybox-w32-a7bb3c1396056248a71ea188f217de3f4876947e.tar.gz busybox-w32-a7bb3c1396056248a71ea188f217de3f4876947e.tar.bz2 busybox-w32-a7bb3c1396056248a71ea188f217de3f4876947e.zip | |
*: code shrink via NOINLINE
function old new delta
expand_vars_to_list - 2118 +2118
lzo1x_optimize - 1429 +1429
run_pipe 358 1775 +1417
arith_apply - 1335 +1335
mainQSort3 - 1198 +1198
logdir_open - 1163 +1163
rewrite - 1039 +1039
dump_identity - 987 +987
do_shm - 884 +884
cpio_o - 863 +863
cpio_main 1450 560 -890
ipcs_main 3442 2523 -919
bb_dump_dump 2611 1488 -1123
process_dev 4572 3405 -1167
logdirs_reopen 1308 86 -1222
arith 2084 707 -1377
mainSort 2622 1202 -1420
do_lzo_compress 2276 799 -1477
run_list 2491 943 -1548
expand_variables 2280 135 -2145
------------------------------------------------------------------------------
(add/remove: 9/0 grow/shrink: 1/10 up/down: 12433/-13288) Total: -855 bytes
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/keep_data_small.txt | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/keep_data_small.txt b/docs/keep_data_small.txt index 2ddbefa10..2ba24e4a1 100644 --- a/docs/keep_data_small.txt +++ b/docs/keep_data_small.txt | |||
| @@ -214,3 +214,34 @@ Result (non-static busybox built against glibc): | |||
| 214 | text data bss dec hex filename | 214 | text data bss dec hex filename |
| 215 | 634416 2736 23856 661008 a1610 busybox | 215 | 634416 2736 23856 661008 a1610 busybox |
| 216 | 632580 2672 22944 658196 a0b14 busybox_noalign | 216 | 632580 2672 22944 658196 a0b14 busybox_noalign |
| 217 | |||
| 218 | |||
| 219 | |||
| 220 | Keeping code small | ||
| 221 | |||
| 222 | Set CONFIG_EXTRA_CFLAGS="-fno-inline-functions-called-once", | ||
| 223 | produce "make bloatcheck", see the biggest auto-inlined functions. | ||
| 224 | Now, set CONFIG_EXTRA_CFLAGS back to "", but add NOINLINE | ||
| 225 | to some of these functions. In 1.16.x timeframe, the results were | ||
| 226 | (annotated "make bloatcheck" output): | ||
| 227 | |||
| 228 | function old new delta | ||
| 229 | expand_vars_to_list - 1712 +1712 win | ||
| 230 | lzo1x_optimize - 1429 +1429 win | ||
| 231 | arith_apply - 1326 +1326 win | ||
| 232 | read_interfaces - 1163 +1163 loss, leave w/o NOINLINE | ||
| 233 | logdir_open - 1148 +1148 win | ||
| 234 | check_deps - 1148 +1148 loss | ||
| 235 | rewrite - 1039 +1039 win | ||
| 236 | run_pipe 358 1396 +1038 win | ||
| 237 | write_status_file - 1029 +1029 almost the same, leave w/o NOINLINE | ||
| 238 | dump_identity - 987 +987 win | ||
| 239 | mainQSort3 - 921 +921 win | ||
| 240 | parse_one_line - 916 +916 loss | ||
| 241 | summarize - 897 +897 almost the same | ||
| 242 | do_shm - 884 +884 win | ||
| 243 | cpio_o - 863 +863 win | ||
| 244 | subCommand - 841 +841 loss | ||
| 245 | receive - 834 +834 loss | ||
| 246 | |||
| 247 | 855 bytes saved in total. | ||
