------- Comment #9 from malitzke at metronets dot com  2007-06-17 18:01 -------
Thank you for your very informative post.

What we have between us is really a philosophical difference.

To me C is a portable assembler and my extensive review of Ritchie's writings
and acceptance speech for the Turing award leads me to believe that the correct
code generation under absolute control of the programmer was paramount. Even
the portability issue came much later at Bell Labs. That was when to my
reckoning Ritche handed over C to the PCC (portable C compiler) crowd using LEX
YACC etc.

Yes, to me there is profound truth in "Optimize, don't". Instead look for a
better algorithm. And, as as an engineer a soldering iron and a screwdriver (a
better CPU and support chips like the Cell processor) are among the best
optimization tools. 

FORTRAN was actually my first high level language and my first significant
FORTRAN (formula translation) ran on the day President Kennedy was murdered,
and the computer center closed. I worked on systems with triple computer
redundancy and and majority voting. Boy, would I have loved a Ritchie type C
compiler. One of my best accomplishments was cutting the interrupt line and and
making that central office telephone exchange into scanning system and handle
the contractual  specified 95000 calls per hour instead of 67000. It lso made
me the best hated guy in that development lab and led to a very profitable job
change.  

Yes, I consider JAVA an abomination, I still harbor a remnant of respect for
SUN because of the NFS (network file system). When Dr. hc. William Gates
admitted that C++ set back Microsoft two years; it my made  not only my day but
my whole month. His genius is in motivating nerds to work 12-16 hours a day
producing lousy code and not as progamer (somebody else wrote a vital part of
the BASIC interpreter). C with classes is fantastic to somebody whose thesis
contained a discrete event simulation package written in FORTRAN and assembly.
Microsoft and Academia reduced C++ to the recent quip "When your tool is C++,
the world is reduced to thumbs" (half-assed quote).

K&R second program "Fahrenheit-Celsius" uses integers and not floating point.
Based on that and knowing that existed no decent FORTRAN compilers on the early
UNIX machines I take it that floating point was more a political necessity than
  a technical requirement. I would love to eliminate floating point from C  and
use fortran-95 for my numerical solutions of stiff partial differential
equations. 

Now your first four paragraphs and my previous comment realy express the same
thing, but from different perspective. Let me quote   
"great because it makes GCC more transparent and comprehensible" What I meant
with this is that GCC now has one more leg built on sound principle instead of
a
(perheaps jumble of ad-hoc stuff. This in creases my confidence the addresses
generated point to the right object. This put you as the lead guy into the same
league as Diego Novillo, Sebastian Pop, Palo Carlini, Zdenek Dvorak I had the
priviledge of helping in a small way. In my book this a big step up from
bug-man. To system houses, chip manufacturers, gcc collegues obsessed with
optimization you had to stress the speed-up. I want assurance that the code
generated produces the right result, even if it makes the compiled bigger and
the code generated for small arrays a tad slower. To me POINTER_PLUS affects
code throughout the compiler collection and not just some instruction on some
architecture. I am quite willing to write you a glowing recommendations should
you think it appropriate. That we rub each other at times the wrong way is
unfortunate bu no really relevant.

Proof that you are doing great, from my perspective, Is that when I checked the
Changelog after svn I searched and found your technical write-up, understood
that this good stuff and immediately did a a bootstrap. It certainly produced
no discernable degradation which is great no a new fundamental step.

Altivec and SSE really produce benefits in a relatively small corner of the
overal picture, They are, again in my book, part of their architectures more
for competive reason than producing fundamental improvements. However changes
to the config tree and to code generation to me far outweigh the benefits
overall. But it seems imppossible to quarantine them.

I have to admit that DFA really rubs me the wrong way for C.

Finally, there exists huge, to me bloated, file  called cc1. This is the C
compiler and not GCC. Again I admit that I really only care about cc2 and f951,
I tolerate cc1plus, and the rest have no place on my machines, I own those
machines and aunder the GNU and UNIX philosophy that is up to me. 


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32314

Reply via email to