CTFE Status

Stefan Koch via Digitalmars-d digitalmars-d at puremagic.com
Wed Dec 7 10:50:20 PST 2016


On Wednesday, 7 December 2016 at 18:00:40 UTC, Stefan Koch wrote:
> I have an update about ctfe performance.
> I wondered for quite a while why newCTFE had a 5 millisecond 
> overhead, when compared the old interpreter.
> Since on my charts it had comparable or better stats.
> I finally figured it out.
>
> Because the interpreter is supposed to be ctfe-able itself it 
> uses a gc-allocated stack.
> And that in turn call envokes the gc.
> The mark phase of the garbage-collector matches up exactly with 
> the extra time taken.
>
> I have no idea, why this happens though since the GC is 
> supposed to be disabled.

It turns out that almost classes in dmd that are em-placed.
Whereas by bytecode visitor uses the regular new, because it is 
fairly sizable. The gc is much more visible.

Although that does still not explain why GC.disable seems to have 
no effect.


More information about the Digitalmars-d mailing list