Inherent code performance advantages of D over C?
Timon Gehr
timon.gehr at gmx.ch
Tue Dec 10 15:04:30 PST 2013
On 12/10/2013 07:26 PM, Walter Bright wrote:
> On 12/10/2013 1:58 AM, Timon Gehr wrote:
>> Recovering all immutable and const qualifiers that are possible to
>> assign to the program is simple to do if the whole program is available.
>
> I believe you are seriously mistaken about it being simple, or even
> possible.
>...
Unfortunately I'm not currently in a position to invest any time into
implementing mutability analysis for C code. Maybe later. It might prove
interesting to see how well a straightforward inference of D-style
qualifiers works for existing code bases. (But this is not the relevant
question here since we are talking about _inherent_ advantages.)
> For example, malloc() returns a pointer. How do you know if that returns
> a pointer to immutable data or not? Even if it could look at the source
> code to malloc()?
>
Malloc is part of the language runtime. Everything needed is known about
it, in particular that it is pure (in the D sense). Also, the source
code of malloc will not be standard C code.
In any case, please understand that giving even a valid example of a
case where such an approach cannot do well (e.g. all variables under
consideration are actually mutated) does not invalidate the statement made.
More information about the Digitalmars-d
mailing list