[PATCH] D41416: [modules] [pch] Do not deserialize all lazy template specializations when looking for one.

Richard Smith - zygoloid via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 5 15:55:56 PST 2018

rsmith added a comment.

I just tried this on one of our larger builds. The good news is that it appears to work: the compilation still succeeds, and significantly fewer nodes are deserialized. The bad news is that the final .cc file compilation got slower, from 42s to 86s. (There's a lot of noise here, and the builds might have been on vastly different machines, so take this with a pinch of salt for now.) Sample stats:

- "types read" is down from 30% to 17%
- "declarations read" is down from 34% to 23%
- number of ClassTemplateSpecializations read has decreased by 30%, number of CXXRecordDecls read is down 25%
- total ASTContext memory usage is down by 12%


More information about the cfe-commits mailing list