On Thursday, 9 June 2016 at 15:44:04 UTC, Ola Fosheim Grøstad
wrote:
On Thursday, 9 June 2016 at 14:16:08 UTC, Jack Stouffer wrote:
Appender!string is a great example, as it's easy to add and it
almost always results in measurable speed increases. You can
see how one simple change using D features can make your
program 5% faster.
Every language has idiomatic uses to speed up your program,
the real question is how much faster those make the code and
how easy it is to implement those in your own code.
I don't think you should benchmark library constructs like
Appender. That's essentially pointless.
Why? Maybe not John Doe's library, but certainly the standard
library should be included in benchmarks as that is supposed to
be highly reflective of the language...
Benchmark the naked language. If D provides concatenation,
benchmark concatenation and how the optimizer turns them (or
don't) into something more efficient.
I don't even see how that's useful. It will help you make a
better compiler. But not give to much information about the
language. For instance if you benchmark a while loop in C, C++,
Rust, and D all with LLVM backends...well the slower language
really is just pointing towards some ineffectiveness of the
compiler itself, as in a simple example, there really shouldn't
be much difference. However, if you want to say "D has this
feature which produces better performance than what those
language can provide", that's a different story.
Otherwise people would benchmark numpy instead of Python etc.