On Thursday, 19 March 2015 at 00:42:51 UTC, weaselcat wrote:
On Wednesday, 18 March 2015 at 12:59:17 UTC, bearophile wrote:
High level constructs in D are often slower than low-level
code, so in some cases you don't want to use them.
I actually found that LDC does an _amazing_ job of optimizing
high level constructs and converting "low level" code to higher
level functional code resulted in minor speedups in a lot of
cases.
(Other performance benefits include the algorithm primitives
being extensively optimized in phobos.)
If the code/compiler generates suboptimal code in the first place
then improvements can be somewhat random. But if you write code
with good cache locality, filling the pipeline properly then
there is no alternative to going low level.
Btw, take a look at this:
http://stackoverflow.com/questions/28922323/improving-line-wise-i-o-operations-in-d
That's really bad marketing...