[cfe-commits] r70055 - in /cfe/trunk: include/clang/Frontend/PCHBitCodes.h include/clang/Frontend/PCHReader.h include/clang/Frontend/PCHWriter.h lib/Frontend/PCHReader.cpp lib/Frontend/PCHWriter.cpp

Chris Lattner clattner at apple.com
Sat Apr 25 11:21:31 PDT 2009


On Apr 25, 2009, at 10:55 AM, Douglas Gregor wrote:

>
> On Apr 25, 2009, at 10:48 AM, Douglas Gregor wrote:
>
>> Author: dgregor
>> Date: Sat Apr 25 12:48:32 2009
>> New Revision: 70055
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=70055&view=rev
>> Log:
>> Load the selector table lazily from the PCH file.
>>
>> This results in a 10% speedup on the Cocoa-prefixed "Hello, World!",
>> all of which is (not surprisingly) user time. There was a tiny
>> reduction in the size of the PCH file for Cocoa.h, because certain
>> selectors aren't being written twice.

Very nice!  Makes sense,

> ... and I neglected to provide the PCH statistics for the Cocoa-
> prefixed "Hello, world!", which are:
>
>   *** PCH Statistics:
>   18/20838 types read (0.086381%)
>   16/80753 declarations read (0.019814%)
>   527/56449 identifiers read (0.933586%)
>   0/6654 selectors read (0.000000%)
>   0/30265 statements read (0.000000%)
>   470/7806 macros read (6.021009%)
>   0/4598 lexical declcontexts read (0.000000%)
>   0/4027 visible declcontexts read (0.000000%)
>   0/6654 method pool entries read (0.000000%)
>
> Most of the macros and identifiers read are due to the non-lazy
> "#import".

Nice!  I bet that your idea of switching the type/decl lists to blobs  
will also reduce startup time as well,

-Chris



More information about the cfe-commits mailing list