<div dir="ltr">Hi All,
<div><br></div><div>I've had a crack at implementing lazy loading for late parsed templates (used by MSVCCompat) as I've noticed that they add unnecessary overhead to compilation using large PCHs. This is especially true for small files compiled with large PCH files containing many templated functions - they were all being deserialized but most never got used.</div>
<div><br></div><div>A quick analysis on a file in a large code base shows the AST parsing time time dropping from 0.58s without the change and 0.37s with the change. This is with 699/7333 late parsed templated loaded and parsed from the PCH.</div>
<div><br></div><div>I've added the data structures to the ModuleFile class to follow convention, although I haven't added any new tests as I doubt if anyone's likely to use modules with late template parsing enabled. However, at least the option is there should someone want to use (and test) it with modules in the future. That said, all existing test pass with this patch.</div>
<div><br></div><div>Formatted and tested patch attached ready for review.</div><div><br></div><div>Cheers,</div><div>Will.</div></div>