All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jody Bruchon <jody@jodybruchon.com>
To: linux-8086@vger.kernel.org
Subject: Re: An "ELKS BusyBox" is in progress; 24.5% size savings so far!
Date: Wed, 22 Feb 2012 09:42:32 -0500	[thread overview]
Message-ID: <4F44FED8.4030706@jodybruchon.com> (raw)
In-Reply-To: <CAMKR1ysa2wnb=kPK3DMpqfT3i87exO5SKZDrTs-VpGOv1Ugy_Q@mail.gmail.com>

On 2/20/2012 1:16 AM, Kirn Gill wrote:
> Most of the space-savings comes from not having to duplicate the C
> library around (due to static linking). If there was a shared library
> mechanism (which someone once suggested via interrupt vectors - does
> that even work?), then this space-savings would be far less.
That's not entirely true. Some of the commands are from sash, and have 
tons of 1:1 copied code to split them into separate commands, and I have 
fixed that up; some other commands shared routines as well, and those 
are also combined. The C library is not the only duplication waste 
involved. Additionally, commands like "true" and "false" are so trivial 
that their .c files were destroyed in favor of pushing their code into a 
single line in busyelks.c. I have yet to merge the usage() calls 
together, but I've already packed a lot of stuff into one executable, 
and it works as expected using the elksemu command. Once I get some of 
the ugliness fixed up, I'll push this to Git.

13682 ./sed.o  13058 ./stty.o  11599 ./compress.o
10680 ./diff.o  8806 ./find.o  8582 ./sort.o
8423 ./ed.o   5592 ./banner.o  3647 ./tar.o
3549 ./ls.o   3105 ./cut.o   3021 ./test.o
2633 ./grep.o  2593 ./dd.o   2565 ./tail.o
2347 ./cal.o  2254 ./sash.o   2003  ./tr.o
1897 ./cksum.o  1869 ./date.o  1771 ./uniq.o
1696 ./xargs.o  1594 ./lib/wildcards.o  1594 ./du.o
1526 ./wc.o   1475 ./l.o  1419 ./busyelks.o
1299 ./write.o  985 ./cmp.o   820 ./head.o
785 ./more.o  779 ./mkdir.o   764 ./lib/copyfile.o
762 ./tee.o   738 ./rmdir.o   699 ./mknod.o
697 ./mesg.o  676 ./ln.o  580 ./cat.o
571 ./which.o  569 ./lib/sashlib.o   509 ./mv.o
477 ./chgrp.o  476 ./chown.o  437 ./lib/modestring.o
430 ./printenv.o  420 ./basename.o   358 ./mkfifo.o
343 ./chmod.o  334 ./cp.o  326 ./rm.o
314 ./dirname.o  301 ./touch.o  287 ./lib/timestring.o
269 ./lib/chunks.o  262 ./lib/buildname.o  243 ./echo.o
238 ./whoami.o  233 ./logname.o   201 ./yes.o
194 ./pwd.o   179 ./lib/stripslash.o  139 ./lib/isadir.o
134 ./usage.o  132 ./lib/basename.o

text    data    bss     dec     hex     filename
51904   7576    37124   96604   1795c   busyelks

-rwxr-xr-x 1 root root 59512 Feb 22 09:33 busyelks*

Jody Bruchon

  parent reply	other threads:[~2012-02-22 14:42 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-20  5:55 An "ELKS BusyBox" is in progress; 24.5% size savings so far! Jody Bruchon
     [not found] ` <CAMKR1ysa2wnb=kPK3DMpqfT3i87exO5SKZDrTs-VpGOv1Ugy_Q@mail.gmail.com>
2012-02-22 14:42   ` Jody Bruchon [this message]
2012-02-28 21:28 ` Juan Perez-Sanchez

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F44FED8.4030706@jodybruchon.com \
    --to=jody@jodybruchon.com \
    --cc=linux-8086@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.