This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

The bloat sweepstakes...


Largely for amusement, here's some statistics on the sizes of the
compiler binaries.  All figures are in kilobytes, for the final stage
of an i386 native bootstrap.  First, the back end:

text    rodata  data    bss     total   file
2360.3  457.2   17.2    494.5   3329.3  libbackend.a
 525.8  259.7    1.1      0.0    786.6  (insn-*.o)

The biggest (in terms of text size) object modules are all insn-*.o
files, which is why they get their own entry.  i386.o is also hefty,
at just over 100K.  The top three language-independent modules are
expr.o, fold-const.o, and dwarf2out.o, at 130K, 100K, and 94K respectively.

It is amusing to note that the huge language-independent modules are
all rather old.  The biggest recently-added module is gcse.o at 43K.

Now the front ends.  For these I subtracted the total size of
libbackend.a from all the columns.

 313.6  110.6    0.9    137.4    562.5  cc1
 391.4  130.7    1.1    138.1    661.3  cc1obj
1053.2  247.9    2.1    147.2   1450.5  cc1plus
 550.7  169.9   25.7    156.5    902.7  f771
1857.3  264.9   13.2   2321.9   4457.2  gnat1
 431.1   88.4   17.8    141.9    679.3  jc1

There's a few more static libraries in the mix, but they're all less
than 100K, and unlike libbackend it is possible that large chunks have
been left out of the final executables.

  74.3   14.8    0.3      0.7     90.1  libiberty.a
  27.5    1.4    0.1      0.0     29.0  libgcc.a
  56.4   20.6    0.0      0.0     77.1  libcpp.a	(cc1, cc1plus, cc1obj)
  28.4    5.4    4.5      0.0     38.3  libz.a		(jc1)

zw


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]