From: Christian MICHON Date: Sun, 22 Jun 2008 21:32:49 GMT Subject: Re: Shrink the git binary a bit by avoiding unnecessary inline functions Message-ID: <46d6db660806221432m6a6e2f3egf78faa1510f8d643@mail.gmail.com> In-Reply-To: On Sun, Jun 22, 2008 at 9:19 PM, Linus Torvalds wrote: > > 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 !