On Tue, Feb 06, 2018 at 11:20:53PM +0000, Andres Clari via Digitalmars-d wrote: [...] > Switching from ctRegex! to regex yielded a 50% build time reduction, > and from what I read even the normal regex are slowing things down > considerably.
I seem to vaguely recall that in some cases, ctRegex might even perform slower than regex(). But either way, my use cases for regexes generally aren't performance-sensitive enough to be worth the trouble of huge compilation time slowdown -- I just use regex() instead of ctRegex. [...] > Btw, my project which is 3517 lines of D builds in 20s disabling the > ctRegex on an i7 4770k at 4.3Ghz. > > So I'd say once you start doing some more complex usages, D's build > speed goes out the door. That depends on what you're doing with it, and also how you're building it. 3500+ lines isn't a lot of code; it ought to compile pretty fast unless you're using a lot of (1) templates, (2) CTFE. Also, I find that dub builds are excruciatingly slow compared to just invoking dmd directly, due to network access and rescanning dependencies on every invocation. I have a 4700+ line vibe.d project; Diet templates are template/CTFE-heavy and generally take the longest to build. (I dumped dub and went back to an SCons-based system with separate compilation for major subsystems -- as long as I don't recompile Diet templates, the whole thing can build within seconds; with Diet templates it takes about 30 seconds :-/.) T -- Unix was not designed to stop people from doing stupid things, because that would also stop them from doing clever things. -- Doug Gwyn