Re: [PATCH 0/7] minmax: reduce compilation time

Linus Torvalds
2024-07-27T16:27:04Z

On Sat, 27 Jul 2024 at 01:08, Lorenzo Stoakes
<lorenzo.stoakes@oracle.com> wrote:
>
> 62603617./drivers/staging/media/atomisp/pci/isp/kernels/ynr/ynr_1.0/ia_css_ynr.host.o.pre

Heh.

Longest line is drivers/.../ia_css_ynr.host.c:71 (27785kB)

yeah, that's a single line that expands to 27MB in size.

And yes, that line is one single min(...) expression with arguments
that are then in turn macros with other nested min/max arguments.

See also drivers/staging/media/atomisp/pci/sh_css_frac.h.

On my fairly beefy (admittedly more cores than single-thread) machine,
just generating the preprocessor file takes just under 20s.

Building the object file is actually faster at "only" 8.5s for that
one file, because it uses the built-in preprocessor and never writes
it out, and most of the actual preprocessing result is trivial stuff
that gets thrown away immediately.

Linus