CTFE Status

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 16 22:36:58 PST 2017


On Monday, 16 January 2017 at 16:31:25 UTC, Stefan Koch wrote:
> On Thursday, 5 January 2017 at 06:04:00 UTC, Stefan Koch wrote:
>> On Monday, 2 January 2017 at 18:40:44 UTC, Stefan Koch wrote:
>>> So guys.
>>>
>>> basic function-calls are supported.
>>>
>>> Hell YEAH!
>>
>> Disabled for now. Since it pushes some buffers/caches to their 
>> limit. A more flexible solution is needed.
>> However the good news is that the ABI seems to work better 
>> than expected.
>> Now it's time to deal with this-pointers and method calls.
>>
>> After remaining issues with nested switches have to be fixed.
>
> Basic Function call support reenabled.
> Phobos unittests pass.

Just found a bug with recursive functions, which is now fixed.
So time for some perf:
-- t.d
  uint rfn(uint n)
  {
    if (n > 2) return n + rfn(n-1) + rfn(n-2);
    return 1;
  }

pragma(msg, rfn(30));
--

uplink at uplink-pc:~/d/dmd$ time src/dmd t.d -c
4674396u

real	0m0.396s
user	0m0.392s
sys	0m0.000s
uplink at uplink-pc:~/d/dmd$ time dmd t.d -c
4674396u

real	0m1.993s
user	0m1.872s
sys	0m0.120s



More information about the Digitalmars-d mailing list