riccibruno added a comment.

In https://reviews.llvm.org/D54166#1299230, @rjmccall wrote:

> In https://reviews.llvm.org/D54166#1299149, @riccibruno wrote:
>
> > In https://reviews.llvm.org/D54166#1298889, @rjmccall wrote:
> >
> > > IIRC, abbreviations just silently don't take effect if the record doesn't 
> > > conform; so things will appear to work, but the size on disk will be 
> > > bigger.
> >
> >
> > I looked at where the abbreviations are defined, and it seems that the only 
> > abbreviations for
> >  statements/expressions are for `DeclRefExpr`, `IntegerLiteral`, 
> > `CharacterLiteral`
> >  and `ImplicitCastExpr` (grep for `EmitAbbrev` in `Serialization/`,
> >  for some reasons they are emitted in `WriteDeclAbbrev()`...).
> >
> > And indeed changing the serialization format of `CharacterLiteral` triggers 
> > various assertions
> >  because of the abbreviation. Therefore unless I am missing something no 
> > other statement/expression
> >  has currently an abbreviation. I suspect therefore that someone could go 
> > wild and cut the on-disk
> >  size of the serialization format significantly here.
> >
> > I looked at the size of the generated pch for all of Boost, and I am only 
> > seeing an increase of
> >  about 8k, which is entirely attributable to the fact that I am adding one 
> > field to the serialization
> >  format. I can rework it to remove this additional field if needed.
>
>
> If you're generally interested in improving build times, working on the 
> serialization format would probably be really valuable.  We don't generally 
> insist on a zero-regressions policy in other commits, though.


I was planning to finish packing the other expression classes to minimize the 
in-memory footprint
of the AST first. I will try to take a look at serialization if I have some 
time but no promise for now.
Thanks for the review !


Repository:
  rC Clang

https://reviews.llvm.org/D54166



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to