It was thus said that the Great Chuck Guzis once stated:
On 14 Oct 2011 at 13:34, Dave McGuire wrote:
I'm quite certain that the last few people
who know anything about
code optimization (and I don't mean "putting -O in cc's argument list)
will die in our generation, and the current disturbing trend of
horrible grinding, lumbering, bloated slowness will continue to
worsen.
The last time I had the nerve to comment about poor code optimization
on a C compiler, the response was an almost sneering "who cares about
code optimization any more?".
How sad. In a past life, I spent many many hours on improving code
generation of FORTRAN compilers and hand-optimizing assembly code.
While embedded may be the last refuge for assembly code writers, it
won't be for much longer.
The latest project I've been working on (which was just announced [1]) was
done in C, and I have a hard time considering it an "embedded" system,
seeing how the code runs on a dozen machines for each "installation" (it's
an enhanced caller ID product for cell phones, and thus because call
processing is involved, there's a ton of redundancy). There is even some
SPARC assembly involved (the code runs under Solaris) because the Sun C
compiler wasn't good enough for a particular function.
-spc (So there's still hope left ... )
[1]
http://cequint.com/products/
I was involved with the Picture Me feature (I'm responsible for
writing the regression and load tests for the call processing side
of that feature), and some of my code even made it into the City ID
project [2].
[2] Interesting fact---caller ID is handled over DNS. No, really. Bind
supports the NAPTR record type, which is used to handle caller ID by
the phone companies. I wrote a DNS encoder/decoder [3], which was
just as fast as the code they were using, but reduced the run time
memory consumption by 15M.
[3]
http://www.conman.org/software/spcdns/