emacs-pretest-bug
[Top][All Lists]
Advanced

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

size increase for CVS emacs vs 21.3


From: Dan Nicolaescu
Subject: size increase for CVS emacs vs 21.3
Date: Fri, 10 Sep 2004 11:41:58 -0700

The size of the emacs binary has increased a lot between 21.3 and the
current CVS version: 4355052 vs 5911688 bytes
(both binaries were compiled with the same compiler using the default flags)

One difference is in the pure size:
21.3: 715540 pure bytes used
CVS:  988856 pure bytes used

But this is only a part of the difference (~200KB out of 1.7MB). 

Let's look at the files that show the biggest differences between the
2 versions: 

For 21.3:
 size -f alloc.o emacs temacs
   text    data     bss     dec     hex filename
  19438     360  724248  744046   b5a6e alloc.o
1246298 3103332       0 4349630  425ebe emacs
1246298   36452  968344 2251094  225956 temacs

For the current CVS version:
 size -f alloc.o emacs temacs
   text    data     bss     dec     hex filename
  19692 1985480     172 2005344  1e9960 alloc.o
1381743 4524344       0 5906087  5a1ea7 emacs
1381743 2023960  257480 3663183  37e54f temacs

The difference between the 2 alloc.o files is caused by the 
initialization to {1,} that was not present in alloc.c in 21.3 :

EMACS_INT pure[PURESIZE / sizeof (EMACS_INT)] = {1,} ;

After deleting that initialization the sizes are:

amrm2:~...Emacs-CVS/objs/src> size -f alloc.o emacs temacs
   text    data     bss     dec     hex filename
  19692    5480     172   25344    6300 alloc.o
1381743 4524344       0 5906087  5a1ea7 emacs
1381743   43960 2237480 3663183  37e54f temacs

so it only makes a difference for temacs (which still has a much
bigger bss than 21.3).

I don't know what else to look at, so it would be great if someone
could take a look at this. 

The compiler and linker used to build both binaries are:

gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man 
--infodir=/usr/share/info --enable-shared --enable-threads=posix 
--disable-checking --disable-libunwind-exceptions --with-system-zlib 
--enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.3.3 20040412 (Red Hat Linux 3.3.3-7)

ld -v
GNU ld version 2.15.90.0.3 20040415





reply via email to

[Prev in Thread] Current Thread [Next in Thread]