Thread overview | |||||
---|---|---|---|---|---|
|
March 16, 2019 Compilation speed bechmark | ||||
---|---|---|---|---|
| ||||
There is this new programming language called vlang (http://vlang.io). Does not enthuse me because of its 'go' like syntax. Anyway, I came across a mention on hacker news https://news.ycombinator.com/item?id=19405036 where they boast of incredible compilation speed. D is mentioned in the comparison table and the DMD compiler is listed with a comment "segfault after 6 minutes". The benchmark program is simple and silly. It goes like import std.stdio; void main() { int a; a = 1; writeln(a); a = 2; writeln(a); a = 3; writeln(a); // more such code lines till a = 400000 // .... } I generated the code and tried compiling (with dmd-2.085.0) on my linux box. To my astonishment, it has been compiling for the last 10 minutes without generating any object file. Why does it take so long? |
March 16, 2019 Re: Compilation speed bechmark | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bottled Gin | On Sat, Mar 16, 2019 at 12:02:39PM +0000, Bottled Gin via Digitalmars-d wrote: > There is this new programming language called vlang (http://vlang.io). Does not enthuse me because of its 'go' like syntax. Anyway, I came across a mention on hacker news https://news.ycombinator.com/item?id=19405036 where they boast of incredible compilation speed. D is mentioned in the comparison table and the DMD compiler is listed with a comment "segfault after 6 minutes". > > The benchmark program is simple and silly. It goes like > > import std.stdio; > > void main() { > int a; > a = 1; > writeln(a); > a = 2; > writeln(a); > a = 3; > writeln(a); > // more such code lines till a = 400000 > // .... > } > > I generated the code and tried compiling (with dmd-2.085.0) on my linux box. To my astonishment, it has been compiling for the last 10 minutes without generating any object file. > > Why does it take so long? Because DMD has an O(n^2) algorithm that's run on the function body, so very large functions will incur huge amounts of compilation time. It would be nice to identify where this is and fix it, since having O(n^2) algorithms in a compiler that's supposed to be super-fast is rather silly. T -- It's bad luck to be superstitious. -- YHL |
March 16, 2019 Re: Compilation speed bechmark | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bottled Gin | On Saturday, 16 March 2019 at 12:02:39 UTC, Bottled Gin wrote: > [...] https://issues.dlang.org/show_bug.cgi?id=19745 |
Copyright © 1999-2021 by the D Language Foundation