[cfe-dev] Big slowdown introduced in r92348

Abramo Bagnara abramobagnara at tin.it
Tue Jan 12 02:41:41 PST 2010


Il 12/01/2010 00:40, Douglas Gregor ha scritto:
> http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20100111/026231.html
> 
> 
> On Jan 11, 2010, at 9:16 AM, Abramo Bagnara wrote:
> 
>>
>> Using as usual the big gcc.c source from
>>
>> http://people.csail.mit.edu/smcc/projects/single-file-programs/
>>
>> $ time ~/llvm_opt/Release/bin/clang -w -fsyntax-only gcc.c
>>
>> real    0m3.792s
>> user    0m3.472s
>> sys    0m0.319s
>> $ time ~/llvm_opt/Release/bin/clang -w -fsyntax-only gcc.c
>>
>> real    0m13.384s
>> user    0m13.046s
>> sys    0m0.335s
>>
>> Using bisection I've found the culprit in commit r92348.
>>
>> Why a modify to Sema::LookupTemplateName could impact a non C++ program
>> is beyond my comprehension, but perhaps the name of function is
>> misleading I don't know...
> 
> This should be fixed in r93207, here:
> 
>     http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20100111/026231.html
> 
> 
> I can't check your particular example on my system (since I don't have
> all of the headers that gcc.c relies on), but the change improved
> performance on Cocoa.h. Actually, since this change eliminates a bunch
> of extra name lookup, r93207 may even be faster than r92347 was.

I've just tested it and now it's fast as before for gcc.c (not faster).

However I leave to you the evaluation about whether the slowdown
introduced by r92348 is appropriate or not for C++ programs.




More information about the cfe-dev mailing list