[libcxx-commits] [PATCH] D150300: [libc++][WIP] Try disabling transitive includes in all configurations to see impact on CI times

Mark de Wever via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon May 15 10:34:03 PDT 2023


Mordante added a comment.

In D150300#4342980 <https://reviews.llvm.org/D150300#4342980>, @ldionne wrote:

> Actually here's a breakdown of the timings and improvement for that CI run:
>
>           Before change (s)   After change (s)    speedup
>   C++03   242                 224                 8 %
>   C++11   316                 275                 14.9%
>   C++14   351                 284                 23.5%
>   C++17   391                 335                 16.7%
>   C++20   650                 521                 24.7%

This looks very promising!

I think we should adjust `transitive_includes.sh.cpp` test to make sure it undefines `_LIBCPP_REMOVE_TRANSITIVE_INCLUDES` and allow it to run with `enable_transitive_includes` disabled. That should be fairly simple.

I also wonder whether we should look at removing the transitive includes in general (obviously in a separate patch). I expected some overhead from allowing them, but not these numbers. I still don't like it might break some users, but the benefits seem quite large.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D150300



More information about the libcxx-commits mailing list