Inherent code performance advantages of D over C?
Iain Buclaw
ibuclaw at gdcproject.org
Mon Dec 9 00:15:13 PST 2013
On 9 December 2013 08:05, Jacob Carlborg <doob at me.com> wrote:
> On 2013-12-07 00:56, Walter Bright wrote:
>
>>>> 2. D knows when functions are pure. C has to make worst case
>>>> assumptions.
>>>
>>>
>>> Does the compiler currently take advantage of this?
>>
>>
>> dmd does.
>
>
> Compiling the following code:
>
> pure int foo (immutable int a, immutable int b)
> {
> return a + b;
> }
>
> void main ()
> {
> auto a = foo(1, 2);
> auto b = foo(1, 2);
> auto c = a + b;
> }
>
> With DMD 2.064.2 produce the exact same assembly code for "foo" and "main"
> with our without "pure". I compiled with "dmd -O -release foo.d", am I doing
> something wrong?
>
Of course, it will not work unless you also pass the following options:
-version=Enterprise -noboundscheck -inline -property -transition=11629
I thought everyone knew that??!?? :o)
More information about the Digitalmars-d
mailing list