Thread overview
CTFE: Less Memory, More Speed!
Sep 14, 2019
Walter Bright
Sep 14, 2019
Paolo Invernizzi
Sep 14, 2019
SashaGreat
Sep 14, 2019
Walter Bright
September 13, 2019
Rainer and I collaborated on switching CTFE from using the heap to using a region allocator, which recycles the memory en masse at CTFE exit. Rainer did some benchmarking:

dmd 2.088: 1039 MB in 6.6 seconds
master: 909 MB in 5.0 seconds

https://github.com/dlang/dmd/pull/10396#issuecomment-531454363

and it's looking like a sweet win!
September 14, 2019
On Saturday, 14 September 2019 at 06:52:25 UTC, Walter Bright wrote:
> Rainer and I collaborated on switching CTFE from using the heap to using a region allocator, which recycles the memory en masse at CTFE exit. Rainer did some benchmarking:
>
> dmd 2.088: 1039 MB in 6.6 seconds
> master: 909 MB in 5.0 seconds
>
> https://github.com/dlang/dmd/pull/10396#issuecomment-531454363
>
> and it's looking like a sweet win!

I really really appreciate that kind of work on the compiler!

Kudos to both for the improvement!
Keep pushing on that way!

/Paolo

September 14, 2019
On Saturday, 14 September 2019 at 06:52:25 UTC, Walter Bright wrote:
> ... Rainer did some benchmarking:
>
> dmd 2.088: 1039 MB in 6.6 seconds
> master: 909 MB in 5.0 seconds

For a Win32 release

> and it's looking like a sweet win!

Another test showed:

> ... in a Linux x64 VM; using dmd 2.082.0 as host compiler (and ENABLE_RELEASE), best of 3 runs:

>e9840d3: 1,600 MB in 0:23.62, -lowmem: 419 MB in 0:43.57
>master (bc93e5e): 1,462 MB in 0:22.02, -lowmem: 419 MB in 0:42.56

I think it needs much more improvement.

S.
September 14, 2019
On 9/14/2019 7:05 AM, SashaGreat wrote:
>> ... in a Linux x64 VM; using dmd 2.082.0 as host compiler (and ENABLE_RELEASE), best of 3 runs:
> 
>> e9840d3: 1,600 MB in 0:23.62, -lowmem: 419 MB in 0:43.57
>> master (bc93e5e): 1,462 MB in 0:22.02, -lowmem: 419 MB in 0:42.56
> 
> I think it needs much more improvement.

It's not enabled with -lowmem, as that lets the GC deal with it.