[Bug 65659] make for large projects halts main application UI
Justin Randall
logic at jrlogic.dyndns.org
Thu Oct 9 23:39:04 UTC 2003
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=65659
------- Additional Comments From logic at jrlogic.dyndns.org 2003-10-09 23:37 -------
I rebuilt from CVS head as of Oct 9 using -O0 -g3 -pg to start tracking this
down. A LOT of time is spent (> 20 seconds) in matchEnterDir and matchLeaveDir
parsing input from the child make process. The offending call in matchEnterDir is
if (dirChange.search(line) > -1 )
where dirChange is defined as:
static QRegExp dirChange(QString::fromLatin1(".*: (.+) (`|") + QChar(0x00BB) +
QString::fromLatin1(")(.*)('|") + QChar(0x00AB) + QString::fromLatin1(")(.*)"));
and a similar call in matchLeaveDir. The input line is large (631 bytes, lots of
include directives sent to the compiler).
So, in addition to slowing down the UI, the build is also crippled. My regex-foo
is pretty weak, so I don't know if this is a problem with the regex or the
implementation of QRegExp::search.
More information about the KDevelop-devel
mailing list