[libcxx-commits] [PATCH] D144322: [libc++][Modules] Make top level modules for all C++ headers with OS/clang versions

Duncan P. N. Exon Smith via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Feb 20 18:17:00 PST 2023


dexonsmith added a comment.

In D144322#4140228 <https://reviews.llvm.org/D144322#4140228>, @iana wrote:

> In D144322#4140227 <https://reviews.llvm.org/D144322#4140227>, @dexonsmith wrote:
>
>> Great to see this making progress; looking forward to seeing the related workarounds removed from the Darwin SDKs.
>>
>> What's the performance impact (for scanning/building/importing modules) of turning these all into top-level modules? If it's a significant regression, maybe there's a way to isolate the headers that are involved in the cycle with the SDK and the Clang headers from those that aren't, while still using only a handful of modules. And if it's a performance improvement in some cases (due to better parallelism or building less stuff), could be something to highlight.
>
> We haven't tested the performance yet. We could try to optimize and the C headers that aren't included by the other ones could maybe stay in `std`. That's kind of risky though because we can't really guarantee what the include_next'ed headers will include. I think we're better off keeping the C headers in their own modules across the board (in clang and also the Apple headers).

Yeah, sounds plausible that separate top-level modules makes the C stuff simpler. Would be good to know the perf impact one way or another.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D144322/new/

https://reviews.llvm.org/D144322



More information about the libcxx-commits mailing list