Modern C++ Lamentations

Petar Petar
Sun Dec 30 13:59:57 UTC 2018


On Sunday, 30 December 2018 at 13:46:46 UTC, H. S. Teoh wrote:
>
> D theory sounds all good and all, but in practice you have 
> warts like dub (one big reason I stay away from it -- though 
> based on what Sonke said recently, performance may have 
> improved since I last checked), std.regex (after the last big 
> refactor, something Really Bad happened to its compile times -- 
> it didn't used to be this bad!), std.format (a big hairball I 
> haven't dared to look too deeply into), and a couple of others, 
> like various recursive templates elsewhere in Phobos. And also 
> std.uni's large templated internal tables, which may be (part 
> of?) the common cause of compile-time slowdowns in std.format 
> and std.regex.
>
> There's also dmd's ridiculous memory usage policy, which is 
> supposed to help compile times when you have ridiculous amounts 
> of free RAM, but which causes anything from swap thrashing 
> slowdowns to outright unusability on medium- to low-memory 
> systems.
>
>
> T

Phobos has a few modules like this, but I believe that all of 
them should be fixable without help from the compiler, given 
enough effort.

On the other hand, hopefully soon we'll have the option to turn 
on the GC for the frontend. See: 
https://github.com/ldc-developers/ldc/pull/2916

As for Dub, we really ought to add a lower-level dependency graph 
interface for describing non-trivial builds. There are already a 
couple of (meta-)build systems written in D, so we have to come 
up with a good design and integrate one of them.


More information about the Digitalmars-d mailing list