Thread overview
Beta D 2.068.2-b2
Sep 14, 2015
Martin Nowak
Sep 15, 2015
Meta
Sep 21, 2015
Rory McGuire
Sep 21, 2015
Meta
September 14, 2015
The second beta for the 2.068.2 point release fixes an regression with destroy that could result in a memory leak [¹].

http://downloads.dlang.org/pre-releases/2.x/2.068.2/

-Martin

[¹]: https://issues.dlang.org/show_bug.cgi?id=15044
September 15, 2015
On Monday, 14 September 2015 at 21:05:42 UTC, Martin Nowak wrote:
> The second beta for the 2.068.2 point release fixes an regression with destroy that could result in a memory leak [¹].
>
> http://downloads.dlang.org/pre-releases/2.x/2.068.2/
>
> -Martin
>
> [¹]: https://issues.dlang.org/show_bug.cgi?id=15044

I believe I've found a compiler performance bug (or regression, I don't have any other compiler versions to test on right now). The following programming takes an abnormally long times to compile on 2.068.1 and 2.068.2:

import std.range;
import std.array;
import std.conv;
import std.algorithm;
import std.string;
import std.stdio;

enum Instructions: ushort
{
	add = 123,
	sub = 124,
}

uint[ushort.max] inst;

void initInst()
{
        //Removing this line drastically reduces compile time
	alias InstElem = ElementType!(typeof(inst));
}

void main()
{
}

https://issues.dlang.org/show_bug.cgi?id=15062
September 21, 2015
On Tue, Sep 15, 2015 at 7:37 PM, Meta via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote:

> On Monday, 14 September 2015 at 21:05:42 UTC, Martin Nowak wrote:
>
>> The second beta for the 2.068.2 point release fixes an regression with destroy that could result in a memory leak [¹].
>>
>> http://downloads.dlang.org/pre-releases/2.x/2.068.2/
>>
>> -Martin
>>
>> [¹]: https://issues.dlang.org/show_bug.cgi?id=15044
>>
>
> I believe I've found a compiler performance bug (or regression, I don't have any other compiler versions to test on right now). The following programming takes an abnormally long times to compile on 2.068.1 and 2.068.2:
>
> import std.range;
> import std.array;
> import std.conv;
> import std.algorithm;
> import std.string;
> import std.stdio;
>
> enum Instructions: ushort
> {
>         add = 123,
>         sub = 124,
> }
>
> uint[ushort.max] inst;
>
> void initInst()
> {
>         //Removing this line drastically reduces compile time
>         alias InstElem = ElementType!(typeof(inst));
> }
>
> void main()
> {
> }
>
> https://issues.dlang.org/show_bug.cgi?id=15062
>


That takes forever on 2.068.0 as well. Even as:
import std.range;

uint[ushort.max] inst;
alias InstElem = ElementType!(typeof(inst));

even weirder (to me at least) its related to the number of items in "inst". uint[1] is quick. uint[10000] takes about 1.5s, uint[20000] takes about 5s.

On which compiler did this run quickly?


September 21, 2015
On Monday, 21 September 2015 at 13:23:21 UTC, Rory McGuire wrote:
> That takes forever on 2.068.0 as well. Even as:
> import std.range;
>
> uint[ushort.max] inst;
> alias InstElem = ElementType!(typeof(inst));
>
> even weirder (to me at least) its related to the number of items in "inst". uint[1] is quick. uint[10000] takes about 1.5s, uint[20000] takes about 5s.
>
> On which compiler did this run quickly?

I haven't had the chance to test it with anything earlier than 2.068 yet.