This is the mail archive of the
mailing list for the GCC project.
Re: 'make bootstrap' oprofile (13% on bash?)
Scott A Crosby writes:
> On Thu, 28 Apr 2005 10:29:32 +0100, Andrew Haley <email@example.com> writes:
> > > -- and it wouldn't surprise me if the libjava build procedure were a
> > > major contributor there.
> > Yes. This is a profile of the libgcj build. The single biggest user
> > of CPU is the libtool shell script, which uses more than a quarter of
> > the total (non-kernel) CPU time. However, it's important not to be
> > misled -- I'm sure the linker causes a huge amount of disk activity,
> > so it's not just CPU time that is important.
> > Having said that, I suspect that the single biggest improvement to the
> > libgcj build time would be either to remove the libtool shell script
> > altogether or find some way to reduce its use or make it faster.
> bash is the third-most prominent program in the result of a full 'make
> bootstrap' oprofile on gcc-4.1-20050424 configured with
> --disable-checking. A few other breakdowns, including for jc1 and cc1
> exist on http://www.cs.rice.edu/~scrosby/tmp/GCC/
> This was done on machine with 1.5gb of RAM. As the build+src
> directories add to 1.1gb, there shouldn't have been any disk IO.
> (Excerpted out of GCC-overall)
> CPU: Athlon, speed 1830.27 MHz (estimated)
> Counted CPU_CLK_UNHALTED events (Cycles outside of halt state) with a unit mask of 0x00 (No unit mask) count 1800000
> samples| %|
> 1571655 35.9269 /tmp/gccbuild/gcc/cc1
> 1108036 25.3289 /tmp/gccbuild/gcc/jc1
> 573302 13.1053 /bin/bash
> 178865 4.0887 /tmp/gccbuild/gcc/cc1plus
There was a difference in the way that I did the measurements, in that
I separated out the shell used by libtool and the shell used for all
other shell scripts.
However, there is another major disparity here, in that on your box
jc1 uses much more cpu than bash. I don't know why that might be.