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

Vassil Vassilev via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Jan 4 14:42:40 PST 2018


v.g.vassilev added a comment.

I have created a simple (-ish) benchmark targeted to stress test modules with a good number of template specializations. I use the mp11 <https://github.com/boostorg/mp11> library from boost. I am building two modules which contain around 1K specializations (mostly full specializations). The example can be found here <https://paste.ubuntu.com/26315773/>. I use a small fraction of them. This patch deserializes (only) 1117 specializations for around 0.2 seconds whereas without it clang deserializes 1905 specializations for 0.4 s.

This I believe can be further improved and I am investigating but that should not be a blocker for this patch.


https://reviews.llvm.org/D41416





More information about the cfe-commits mailing list