Messages in this thread | | | From | Arnd Bergmann <> | Date | Tue, 26 May 2020 21:00:20 +0200 | Subject | Re: [PATCH -tip v3 09/11] data_race: Avoid nested statement expression |
| |
On Tue, May 26, 2020 at 7:33 PM 'Marco Elver' via Clang Built Linux <clang-built-linux@googlegroups.com> wrote: > On Tue, 26 May 2020, Marco Elver wrote: > > On Tue, 26 May 2020 at 14:19, Arnd Bergmann <arnd@arndb.de> wrote: > > Note that an 'allyesconfig' selects KASAN and not KCSAN by default. > > But I think that's not relevant, since KCSAN-specific code was removed > > from ONCEs. In general though, it is entirely expected that we have a > > bit longer compile times when we have the instrumentation passes > > enabled. > > > > But as you pointed out, that's irrelevant, and the significant > > overhead is from parsing and pre-processing. FWIW, we can probably > > optimize Clang itself a bit: > > https://github.com/ClangBuiltLinux/linux/issues/1032#issuecomment-633712667 > > Found that optimizing __unqual_scalar_typeof makes a noticeable > difference. We could use C11's _Generic if the compiler supports it (and > all supported versions of Clang certainly do). > > Could you verify if the below patch improves compile-times for you? E.g. > on fs/ocfs2/journal.c I was able to get ~40% compile-time speedup.
Yes, that brings both the preprocessed size and the time to preprocess it with clang-11 back to where it is in mainline, and close to the speed with gcc-10 for this particular file.
I also cross-checked with gcc-4.9 and gcc-10 and found that they do see the same increase in the preprocessor output, but it makes little difference for preprocessing performance on gcc.
Arnd
| |