System programming in D (Was: The God Language)
Walter Bright
newshound2 at digitalmars.com
Fri Dec 30 01:13:05 PST 2011
On 12/30/2011 12:16 AM, Vladimir Panteleev wrote:
> I agree, but this wasn't as much about heuristics, but compiler capabilities
> (e.g. inlining assembler functions).
Adding a keyword won't fix the current problem that the compiler won't inline
inline assembler functions. It's an orthogonal issue.
I know there are features on various C compilers to force inlining, I know
there's a demand for them.
But I've also, over the years, spent thousands and thousands of hours optimizing
the hell out of things, so I have some experience with it.
Once the compiler gets past a certain level of heuristic inlining decisions,
forcing it to inline more is just chasing rainbows.
And if one really wants to force an inline, one can do things like the C memcpy
using the preprocessor, or string mixins in D, or even cut&paste. If you need to
do that in more than a couple places in the code, something else is wrong (that
old saw about only a tiny percentage of the code being a bottleneck is true).
Also, if you are tweaking at such a level, every compiler is different enough
that your tweaks are likely to be counterproductive on another compiler. Having
a portable syntax for such tweaking is not going to help.
More information about the Digitalmars-d
mailing list