aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
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.