Release D 2.069.0

Jean-Yves Vion-Dury via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Mon Dec 7 09:06:48 PST 2015


On Wednesday, 4 November 2015 at 15:25:04 UTC, Márcio Martins 
wrote:
> On Wednesday, 4 November 2015 at 01:50:38 UTC, Martin Nowak 
> wrote:
>> Glad to announce D 2.069.0.
>>
>> http://dlang.org/download.html 
>> http://downloads.dlang.org/releases/2.x/2.069.0/
>>
>> This is the first release with a self-hosted dmd compiler and 
>> comes with even more rangified phobos functions, 
>> std.experimental.allocator, and many other improvements.
>>
>> See the changelog for more details. 
>> http://dlang.org/changelog/2.069.0.html
>>
>> -Martin
>
> Seems like memory usage went up by a significant amount, as I 
> can no longer compile our project on my Windows machine.
>
> DMD 2.068.2 uses up to 1100MB of memory during our build and 
> succeeds
> DMD 2.069 used up to 1600MB of memory before crashing with 
> "Error: out of memory"
>
> Are there any plans to release a dmd64.exe?


FYI, I just installed the 2.069 version, and now I'm unable to 
compile some modules, getting the same "Error: out of memory". I 
isolated a tiny one raising the issue, and its all about a 
moderately complex ctRegex expression (see below) that seems to 
brake the compiler. Other modules also raise the problem, but 
they are bigger in term of code lines.

So, at a first glance it looks like a deeper problem that just a 
"higher memory consumption" issue, to me. I'm a bit frustrated, 
this was working so well so far...


     auto r=ctRegex!(
         `\s*(?:`
         ~   `(?P<comment>#.*)|`
         ~   
`(?:@prefix\s+(?P<prefixDecl>\pL+):\s+<(?P<iri>[^<>\s]+)>\s*\.\s*)|`
         ~   
`(?:(_|\pL+):((?:\pL|[\.\-_0-9])*(?:\pL|\d))\s+(\pL+):((?:\pL|[\.\-_0-9])*(?:\pL|\d))\s+`
         ~     `(?:(?:(_|\pL+):((?:\pL|[\.\-_0-9])*(?:\pL|\d)))|`
         ~     
`(?:(?:(?:"{3}(?P<literal>.*)"{3})|(?:"(?P<literal>.*)"))`
         ~           `(?:`
         ~               
`(?:@(?P<langTag>[A-Za-z]+(?:\-[A-Za-z0-9]+)*))|`
         ~               
`(?:\^\^(?P<typeTag1>\pL+):(?P<typeTag2>\w+))`
         ~           `)?`
         ~       `)`
         ~       `)\s*`
         ~   `\.\s*)`
         ~`)`
         );

Thank you for any help beyond splitting down the regex above (any 
magic memory-oriented option somewhere?) ...

Jean-Yves

PS I would like to take the opportunity to thank all contributors 
for their great work on D...



More information about the Digitalmars-d-announce mailing list