[libcxx-commits] [PATCH] D104980: [libcxx][NFC] replaces `<utility>` includes with specific headers
Arthur O'Dwyer via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Jul 15 13:01:10 PDT 2021
Quuxplusone added a comment.
> Someone from the Chrome toolchain team sent me an email this morning asking if we can trim our headers, since their include graph blames our user-facing headers as a huge build time sink.
Compared to all the other stuff in a big project like Chrome, blaming libc++ surprises me. Are they claiming that Chrome builds faster against libstdc++, then? Any chance of getting them to go public with their measurements? And they're blaming specifically the //size// of the headers (including, I should add, the disk traffic from opening and closing all these little files), not anything about the actual contents/implementation? E.g. I myself have done a blog post titled "37% of HyperRogue's compilation time is due to std::function" <https://quuxplusone.github.io/blog/2019/01/06/hyper-function/> (2019-01-06), but that's nothing to do with disk traffic nor compiler-internal data structures, and everything to do with the bloated `std::function` API/ABI itself.
> I don't really like it any more than you do, but it's a user-visible knob with a very short life expectancy.
User-visible features never //really// have short life expectancies. ISTR someone talking about "Hyrum's Law" on this very Phabricator instance, fairly recently... ;)
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D104980/new/
https://reviews.llvm.org/D104980
More information about the libcxx-commits
mailing list