[Issue 18378] New: std.regex causes major slowdown in compilation times
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Feb 5 21:18:46 UTC 2018
https://issues.dlang.org/show_bug.cgi?id=18378
Issue ID: 18378
Summary: std.regex causes major slowdown in compilation times
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: phobos
Assignee: nobody at puremagic.com
Reporter: hsteoh at quickfur.ath.cx
Seems to be related to issue #17161, issue #14431, and probably others, but I'm
filing this separately as this seems to have been introduced just recently
(merged Aug 2017, though the offending commit itself was earlier).
Code:
------
import std.regex;
void main() {
string s = `blahblahblah`;
auto re = regex(s);
}
------
Compilation command:
------
time dmd -c test.d
------
On git master, the timing output is:
------
real 0m3.171s
user 0m2.936s
sys 0m0.233s
------
Which is ridiculously slow for just the mere act of compiling a single regex.
I've managed to isolate the problematic commit to:
905788a65a4b7833f52ee0701dc919ee54f0d35b, which is part of Phobos PR #5337
(https://github.com/dlang/phobos/pull/5337). There may be other culprits as
well, but this is the major one. Compiling the above code on this specific
commit gives:
------
real 0m2.791s
user 0m2.572s
sys 0m0.218s
------
whereas doing so on the ancestor commit gives:
------
real 0m1.004s
user 0m0.892s
sys 0m0.111s
------
Which is not great, but still 2-3 times faster.
--
More information about the Digitalmars-d-bugs
mailing list