This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Comparing compile times and binary size for GCC compiling a few GCC releases
- From: Oleg Endo <oleg dot endo at t-online dot de>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Sat, 16 Mar 2013 20:35:57 +0100
- Subject: Re: Comparing compile times and binary size for GCC compiling a few GCC releases
- References: <CABu31nNL5ph4Z2x-9Nc6MhoRS7dLAY0ZQpGV3-PbW=rLgQww4g@mail.gmail.com>
Hi,
On Sat, 2013-03-16 at 19:44 +0100, Steven Bosscher wrote:
> * cc1 for GCC 4.8.0 has a much larger .bss section than previous releases
But according to the table that followed ...
> cc1 binary size:
> text data bss dec hex filename
> 6460157 374800 535656 7370613 707775 4.2.4/cc1
> 7558042 666080 436744 8660866 842782 4.3.6/cc1
> 10917491 775144 684544 12377179 bcdc5b 4.5.4/cc1
> 11715323 489512 984224 13189059 c93fc3 4.6.3/cc1
> 12351879 484968 1193672 14030519 d616b7 4.7.2/cc1
> 13731087 499080 781496 15011663 e50f4f 4.8.0/cc1
... 4.7 .bss is 1193672 and 4.8 .bss is 781496 .... Am I missing
something?
>
> I started looking into this because I've noticed compilations of many
> small files being slower. I wonder if the larger cc1 and .bss sections
> could be in part responsible for that...?
Could probably be. Compiling many small files puts pressure on compiler
executable startup and larger executables result in slower startup times
(well maybe not always immediately, but eventually -- at some point in
time code/data will have to be paged in or initialized.. ), doesn't it?
I'm curious, do you happen to have some numbers for those 'small file'
cases?
Cheers,
Oleg