On Tue, Sep 15, 2015 at 7:37 PM, Meta via Digitalmars-d-announce < [email protected]> 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?
