Optimizations and performance
qznc via Digitalmars-d
digitalmars-d at puremagic.com
Thu Jun 9 01:31:37 PDT 2016
On Wednesday, 8 June 2016 at 22:19:47 UTC, Bauss wrote:
> D definitely needs some optimizations, I mean look at its
> benchmarks compared to other languages:
> https://github.com/kostya/benchmarks
>
> I believe the first step towards better performance would be
> identifying the specific areas that are slow.
>
> I definitely believe D could do much better than what's shown.
>
> Let's find D's performance weaknesses and crack them down.
The previous step is to find a good benchmark. This one isn't.
For example, you should clarify what kind of code you want: Short
idiomatic elegant code? Or rather optimized to max using every
trick you can no matter the length?
Carefully check what the benchmark actually measures. It should
not measure IO or pthread context switching for example, because
that is not really a distinguishing factor between languages.
Also make sure the benchmarks are fair. For example, "threadring"
in the shootout measures pthread context switching, except
languages like Erlang and Haskell, which use user-level
scheduling. This an apples to oranges comparison.
Sometimes the decision is not clear. Do you want a benchmark of
regular expressions? It makes sense to compare D's and Rust's
standard library to others, but many (Python, Ruby, etc) will use
nearly the same C code underneath.
Another aspect is the statistical stuff. At least measure the
deviations. Better, do some hypothesis tests.
More information about the Digitalmars-d
mailing list