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?

Reply via email to