On Tuesday, 6 February 2018 at 06:11:55 UTC, Dmitry Olshansky
wrote:
On Tuesday, 6 February 2018 at 05:45:35 UTC, Steven
Schveighoffer wrote:
On 2/6/18 12:35 AM, Dmitry Olshansky wrote:
That’s really bad idea - isEmail is template so the burden of
freaking slow ctRegex
is paid on per instantiation basis. Could be horrible with
separate compilation.
Obviously it is horrible. On my mac, it took about 2.5 seconds
to compile this one line.
I'm not sure how to fix it though... I suppose you could make
Just use the run-time version, it’s not that much slower. But
then again static ipRegex = regex(...) will parse and build
regex at CTFE.
Maybe lazy init?
FYI I've made a pull request that replaces uses of regexes in
std.net.isemail. It turns out they weren't being used for
anything indispensable. Import benchmark results were encouraging.
https://github.com/dlang/phobos/pull/6129