LWN.net Logo

Attitude of the gcc maintainers (a rant)

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)

Attitude of the gcc maintainers (a rant)

Posted Nov 1, 2007 21:25 UTC (Thu) by nix (subscriber, #2304) [Link]

Ah, you've been Pinskied. Andrew has a *interesting* attitude to WONTFIX 
and being short with bug reporters which is not shared by many other GCC 
maintainers.

FWIW if you bring it up with other GCC maintainers they are very likely to 
be more reasonable: there was an article in the most recent GCC Summit 
proceedings about speeding up {in,}direct-threaded interpreters.

(just an observer, just my opinion, real GCC maintainers read this site 
and are welcome to call me an idiot if they wish)

Attitude of the gcc maintainers (a rant)

Posted Nov 17, 2008 17:51 UTC (Mon) by cjcoats (guest, #9833) [Link]

As a (mostly Linux-based) Fortran developer, I've seen this too -- particularly parsing command-line options in a manner that imitates the worst of pre-90 FORTRAN -- fixed-source-form Fortran is the _only_ other language I know that regards whitespace as insignificant (the first step in processing it is to eat whitespace before any other parsing).

But "-o penmp" and "-openmp" mean the same thing for gfortran -- and two out of three Linux distros don't have the docs on-line to tell you what they *really*do* want. ;-( And if you complain about that, you get abuse, also.

fwiw.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds