Caching D compiler - preview version

Dmitry Olshansky dmitry.olsh at gmail.com
Tue Oct 24 15:02:27 UTC 2017


On Tuesday, 24 October 2017 at 14:17:32 UTC, Dmitry Olshansky 
wrote:
> On Tuesday, 24 October 2017 at 13:29:12 UTC, Mike Parker wrote:
>> On Tuesday, 24 October 2017 at 13:19:15 UTC, Dmitry Olshansky 
>> wrote:
>>> What is dcache?
>>>
>>> It's a patch for dmd that enables a *persistent* 
>>> shared-memory hash-map, protected by a spin-lock from races. 
>>> Dmd processes with -cache flag would detect the following 
>>> pattern:
>>
>> Blog post or it didn't happen!
>
> Let us at least try it outside of toy examples.
>
> If anybody has std.regex.ctRegex usage I'd be curious to see:
>
> 1. Build time w/o -cache=mmap
> 2. First build time w -cache=mmap
> 3. Subsequent build times w -cache=mmap
>
> P.S. It's a crude PoC. I think we can do better.

Another caveat: Posix-only for now.

Did a few cleanups and widened the scope a bit.

So here is what happens in my benchmark for std.regex.

-O -inline -release:
88s --> 80s,  memory use ~700Mb -> ~400Mb

-release:
19s -> 12.8s

Experimental std.regex.v2 is sadly broken by a recent change to 
array ops.
It would be very interesting to check as it eats up to 17Gb of 
RAM.



More information about the Digitalmars-d-announce mailing list