[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.
More information about the cfe-commits