On Thu, 6 Aug 2020, Jan Hubicka wrote: > Hello, > as discussed some time ago, I would like to discuss possibility to > backport the straming and enum improvements. The motivation is that > this brings quite noticeable improvements to builds of very large > projects where we currently have nonlinearity problem with anonymous > namespaces (which is solved by first set of patches) and also there is > quite noticeable overhead of streaming of enums that I noticed too late > for gcc 10.1. This is the second combine dpatch. > > There is also noticeable reduction of .o files (especially before > compression as hit to WPA->ltrans streaming) and some memory use > benefits. > > This is an optional thing to do, but I believe it may be helpful for > distro builds and those using LTO for large projects. > > For firefox the reduction in global stream (that is slowest part of WPA) > is from 25678391 tree bodies to 20821629, 11160520 SCC hash collisions > to 6002. 392382523 overal section size to 287891470 (both is > compressed). > > For Firefox streaming is under control, but other projects like Chromium > hits bigger issues. The reason is that Firefox has "unified build" that > #includes multiple cpp sources to one, so it consists of only about 8k > source files, while chromium is over 25k and it was tested on project > with over 250k sources. More smaller sources one gets, the more > noticeable bottleneck streaming become. > > The patches are not completely trivial, but they affect code that is > heavily executed during streaming and was in mainline for several > months, so I hope they are safe.
So we've built the core of openSUSE (~3000 packages) on x86_64 and i586 with these backported and sofar found no issues. I'm fine with backporting but I'll give Jakub the chance to object. Honza - please make sure to bump the LTO stream version minor together with the streaming change (I think the enum change doesn't require bumping). Thanks, Richard. > Honza > -- Richard Biener <rguent...@suse.de> SUSE Software Solutions Germany GmbH, Maxfeldstrasse 5, 90409 Nuernberg, Germany; GF: Felix Imendörffer; HRB 36809 (AG Nuernberg)