Tremendous performance regression in 1.1.2 -> mainline

David Edelsohn dje@watson.ibm.com
Thu Apr 6 10:21:00 GMT 2000


	There clearly is a significant problem with the performance of the
compiler itself.  Others have told me privately that GCC takes 25x longer
to compile a large, commercial operating system than its commercial
compiler counterpart.

	Part of the problem may be due to GCC not applying appropriate
heuristics (or any heuristics) to determine when an optimization will be
effective.  Maybe -O3 or -O4 or some separate flag should control
disabling new heuristics to limit when an optimization is applied.  In
other words, -O2 would enable the optimization but the optimization only
would be applied if some heuristic were met (e.g., flow graph edges, basic
blocks, loops, etc.); an additional flag would remove the heuristic limit
and always apply the optimization for that last bit of performance
improvement.

	I believe that we need to make the performance of GCC itself and
the performance of GCC's generated code on key architectures part of the
requirements for the next major GCC release.  The lack of compiler
regression test failures is necessary but not sufficient.

David



More information about the Gcc mailing list