Bye bye, fast compilation times

Andres Clari andres at steelcode.net
Tue Feb 6 23:20:53 UTC 2018


On Tuesday, 6 February 2018 at 22:51:51 UTC, Steven Schveighoffer 
wrote:
> On 2/6/18 5:23 PM, Walter Bright wrote:
>> On 2/6/2018 2:03 PM, Jacob Carlborg wrote:
>>> On 2018-02-06 21:11, Walter Bright wrote:
>>>
>>>> std.string.isEmail() in D1 was a simple function. Maybe 
>>>> regex is just the wrong solution for this problem.
>>>
>>> If I recall correctly, the current implementation of 
>>> std.net.isEmail was requested by you.
>> 
>> Regardless of whether it was requested by me or not, if the 
>> current version is not working for us, we need to explore 
>> alternatives.
>
> The regex problem is being solved:
>
> https://github.com/dlang/phobos/pull/6129
>
> -Steve

That's fixing just the "isEmail" issue which is good I guess.

But after reading this thread, I run some tests on one of my code 
bases, which uses about 6 regex throughout.

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.

Might need a warning on the docs for ctRegex! explaining it'll 
screw your build times if you use it, unless there's some way to 
speed that up to something normal.

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.


More information about the Digitalmars-d mailing list