Re: Shrink the git binary a bit by avoiding unnecessary inline functions
- From
Christian MICHON <christian.michon@gmail.com>
- Date
- Jun 22, 2008, 21:32 UTC
- Message-ID
- <46d6db660806221432m6a6e2f3egf78faa1510f8d643@mail.gmail.com>
- In-Reply-To
- <alpine.LFD.1.10.0806221159140.2926@woody.linux-foundation.org>
On Sun, Jun 22, 2008 at 9:19 PM, Linus Torvalds <torvalds@linux-foundation.org> wrote:
Show 6 quoted lines
> > So I was looking at the disgusting size of the git binary, and even with > the debugging removed, and using -Os instead of -O2, the size of the text > section was pretty high. In this day and age I guess almost a megabyte of > text isn't really all that surprising, but it still doesn't exactly make > me think "lean and mean".
using gcc-3.4.6 and uclibc-0.9.29 (not exactly everyone's configuration of course...) I get different numbers with CFLAGS=-Os and NO_CURL, NO_ICONV on plain git-1.5.6:
sh-3.2# ls -lh git -rwxr-xr-x 3 root root 699.7k Jun 22 23:26 git
sh-3.2# size git text data bss dec hex filename 616544 10960 272272 899776 dbac0 git
after I use your patch, it goes to:
sh-3.2# ls -lh git -rwxr-xr-x 1 root root 652.6k Jun 22 23:30 git
sh-3.2# size git text data bss dec hex filename 568124 10960 272272 851356 cfd9c git
So your patch obviously works here too but I get quite smaller figures too.
curl and iconv are not available on my distro detaolb, maybe it's a big difference too...
Could your figures come from recent gcc/glibc versions ?
-- Christian -- http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside !