aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2009-10-08 12:28:08 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2009-10-08 12:28:08 +0200
commita7bb3c1396056248a71ea188f217de3f4876947e (patch)
tree88a5740d874fd62765f630531fff13d6c7f9a81d /docs
parent57ce977a9700e2f78c92b15805ac6ca430e21f14 (diff)
downloadbusybox-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.txt31
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
222Set CONFIG_EXTRA_CFLAGS="-fno-inline-functions-called-once",
223produce "make bloatcheck", see the biggest auto-inlined functions.
224Now, set CONFIG_EXTRA_CFLAGS back to "", but add NOINLINE
225to some of these functions. In 1.16.x timeframe, the results were
226(annotated "make bloatcheck" output):
227
228function old new delta
229expand_vars_to_list - 1712 +1712 win
230lzo1x_optimize - 1429 +1429 win
231arith_apply - 1326 +1326 win
232read_interfaces - 1163 +1163 loss, leave w/o NOINLINE
233logdir_open - 1148 +1148 win
234check_deps - 1148 +1148 loss
235rewrite - 1039 +1039 win
236run_pipe 358 1396 +1038 win
237write_status_file - 1029 +1029 almost the same, leave w/o NOINLINE
238dump_identity - 987 +987 win
239mainQSort3 - 921 +921 win
240parse_one_line - 916 +916 loss
241summarize - 897 +897 almost the same
242do_shm - 884 +884 win
243cpio_o - 863 +863 win
244subCommand - 841 +841 loss
245receive - 834 +834 loss
246
247855 bytes saved in total.