Inherent code performance advantages of D over C?
bearophile
bearophileHUGS at lycos.com
Fri Dec 6 17:03:06 PST 2013
Manu:
> Assuming a comparison to C++, you know perfectly well that D
> has a severe
> disadvantage. Unless people micro-manage final (I've never seen
> anyone do
> this to date), then classes will have significantly inferior
> performance to C++.
Despite D has the two purities (currently they are three),
const/immutable, and will hopefully have scope for function
arguments, lot of D programmers will not add those annotations to
D code (the D code I see in D.learn usually doesn't have those
annotations), so the speed gains of D could be more theoretical
than real.
So const/immutable/static/scope/@safe should be the default for a
modern language, for efficiency, safety, code understandability
and testing.
If you are a new D programmers, and the local variables in your
function (including foreach loop variables) are immutable, you
learn very quickly to add "mut" or "var" when you want to mutate
them. And you will add that annotation only to the variables that
you need to mutate. This avoids mutating variables by mistake,
and mutating just copies by mistake as in a foreach on an array
of structs. So this avoids some bugs.
Bye,
bearophile
More information about the Digitalmars-d
mailing list