Re: Shrink the git binary a bit by avoiding unnecessary inline functions

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jun 22, 2008 at 9:32 PM, Christian MICHON
<christian.michon@xxxxxxxxx> wrote:
> 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 ?
>

Linus,

I've put my hands on a usb stick with ubuntu (gcc-4.2.3 and
glibc-2.7), containing all packages needed for a pristine compilation
of git-1.5.6.

I only changed CFLAGS to -Os, no debug info compiled.

ubuntu@ubuntu:~/Desktop/git-1.5.6$ ls -lh git
-rwxr-xr-x 1 ubuntu ubuntu 718K 2008-06-23 00:47 git

ubuntu@ubuntu:~/Desktop/git-1.5.6$ size git
   text	   data	    bss	    dec	    hex	filename
 616606	   9876	 270812	 897294	  db10e	git

There's more than 80k difference with your figures (I have not even
applied your patch yet).
May I ask which version of gcc you're using ? The numbers you provided
were really with -Os ?

Once your patch is applied, these are the final figures:

ubuntu@ubuntu:~/Desktop/git-1.5.6$ ls -lh git
-rwxr-xr-x 1 ubuntu ubuntu 692K 2008-06-23 00:59 git

ubuntu@ubuntu:~/Desktop/git-1.5.6$ size git
   text	   data	    bss	    dec	    hex	filename
 591554	   9876	 270812	 872242	  d4f32	git

-- 
Christian
--
http://detaolb.sourceforge.net/, a linux distribution for Qemu with Git inside !
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux