[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