Attitude of the gcc maintainers (a rant)
Posted Nov 1, 2007 16:02 UTC (Thu) by
anton (subscriber, #25547)
Parent article:
A potential competitor for GCC: pcc
I am a maintainer of a GNU package (gforth) that depends on GNU C
extensions, and I am pretty unhappy with the attitude of the gcc
maintainers since about gcc-3.x, which I perceive to be: if your
program is not 100% pure ANSI C, the program is buggy, and bug reports
coming from their maintainers them will not be taken very seriously.
I.e., real-world programs need not apply; exceptions may be granted
for SPEC benchmarks and maybe the Linux kernel.
The problems we have with gcc are the pessimization of indirect
gotos, and the reordering of blocks even with the -fno-reorder-blocks
flag, all new since gcc-3.x. These make threaded code slow (typically
by a factor of 2) and, if we cannot find workarounds, make it
impossible to apply code-copying techniques such as dynamic
superinstructions (another factor of 2). These techniques are used in
a number of interpreters and binary translators, such as Qemu,
SableVM, Gforth, YAP and Sicstus Prolog.
Here are some Gforth benchmark timings that show the effect of
these problems (times in seconds CPU time):
Athlon 64 X2 4400+ (2.2GHz):
sieve bubble matrix fib
0.184 0.296 0.128 0.304 gforth-0.6.2 gcc-2.95.1 IA-32
0.384 0.668 0.808 0.580 Debian gforth-0.6.2-7.2 Debian gcc-4.1.1-20 AMD64
Pentium 4 2.26GHz:
sieve bubble matrix fib
0.231 0.288 0.184 0.342 gforth-0.6.2 gcc-2.95.1 IA-32
0.510 0.846 1.010 0.658 Debian gforth-0.6.2-4 Debian gcc-3.3.3 IA-32
So, a slowdown by a factor of up to 6.3 (matrix on the Athlon 64 X2)
due to "progress" in gcc.
We have been writing bug reports about these things for quite some
time, resulting in slow progress, but at the same time, new issues came up. However, the GCC maintainers
declared my latest bug
report invalid in less time than it took me to prepare it, thus
making sure that this was my last gcc bug report (I don't like to waste my
time).
You can find more discussions of this situation (with participation
of a gcc maintainer) in this thread.
Given the attitude of the gcc maintainers, I would very much like
to have alternatives to gcc. The direct benefit would be to use the
alternative compiler, a possible indirect benefit would the the
readjustment of the gcc maintainer's attitude.
(
Log in to post comments)