std::pow implementation
Scott Robert Ladd
coyote@coyotegulch.com
Wed Jul 30 15:45:00 GMT 2003
Richard Earnshaw wrote:
> This is talking specifically about *very small* functions ("one or two
> assignments"). It says nothing about what happens if the programmer
> decides to put a 2000 line monstrosity in the middle of a class definition
> (which would be legal, if somewhat stupid). A practical compiler
> eventually has to say "enough is enough", or it is likely to crash, run
> out of memory or whatever.
I do not want my freedom limited by the stupidity of others. If someone
explicitly inlines a 2000-line function, let them; the wisdom of such a
choice (or lack thereof) is an issue for code review and the marketplace.
Let's say that I use a little shell sort in a program; should the
compiler decide to replace my explicit choice of algorithm with
quicksort, even though I have determined that shell sort is better?
When I say "inline", I mean inline, regardless of other opinions
(including those of the compiler).
> I disagree. What really counts is that the compiler has sufficient
> information to do a good job when compiling the code (ie to reduce, and
> hopefully eliminate, the abstraction penalty). What constitutes a "good
> job" is up to the compiler...
No.
What constitutes a "good job" is defined by a human mind, not a piece of
technology that lacks any concept of "good." Over the years, I've found
many arrogant tools (and not just from Microsoft) -- tools that assume,
*incorrectly*, that their "wisdom" exceeds mine.
--
Scott Robert Ladd
Coyote Gulch Productions (http://www.coyotegulch.com)
Software Invention for High-Performance Computing
More information about the Gcc
mailing list