Measure first, then optimize. In this case, I would first try
compiling gcc with the stock compiler and whatever the default
config settings are (step 0).
Once I was sure then compile completed cleanly, I would do
make distclean
or similar, and then measure the time to it took to compile with
that stock current compiler. (step 1).
Next, install the new gcc and measure the time the new gcc (and any
other tools), compiled with default configs, take to compile
themselves. (step 2)
Then, compile with whatever -O optmization levels or other
non-default settings you prefer. Once you are getting a
clean compile, do 'make distclean' and measure again how
long it takes the new default-settings gcc to compile itself
with non-default settings (step 3).
Now, you have a -O3 (or whatever) gcc that you can use to compile
itself, (step 4) measured in the same way as the other steps.
Finally, compare the timings (being sure you have started from the
same base state before each compile). The parts you really care
about are step 2 and step 4, but 1 and 3 may also be informative.
Note that this really measures only how fast gcc (or whatever
compiler) can compile itself, and if you write code that is
very different from that, your mileage may vary - but you can
use the same technique to measure and compare the speeds
of the various optimization levels when you compile whatever
code you compile frequently.