On Thu, 29 Sep 2011 17:03:26 -0400, dsimcha <[email protected]> wrote:

== Quote from Steven Schveighoffer ([email protected])'s article

Also note that next to memory allocation, lack of inlining is the biggest
performance problem.  It's not negligible (in case that is what you were
saying, hard to tell from all the negatives ;)

Clarification: I didn't mean lack of inlining is negligible in general, only for this use case. If you have a bunch of complicated conditions and whatnot in the function body then the extra 5 clock cycles or so for a function call probably
don't mean much

It's more of a gut feeling/anecdotal evidence that I have about inlining. I've seen inlining cut the runtime of a function significantly.

A good example, for my std.stdio rewrite, there's one point where I'm converting char/wchar to dchar, then to the appropriate width. At first, I just copied the current std.stdio's policy of:

foreach(dchar d; str)

Which is never inlined since it calls an opApply-style runtime function.

but then I added an option to do this inline. Probably cut the execution time by 40% or more.

-Steve

Reply via email to