I’ve had lots of fun with GCC performance tuning at Fedora but without much results. When Mozilla switched its official builds to clang I considered that too due to difficulties with GCC PGO/LTO setup and inferior Fedora Firefox builds speed compared to Mozilla official builds.
That movement woke up GCC fans to parry that threat. Lots of arguments were brought to that ticket about clang insecurity and missing features. More importantly upstream developer Honza Hubicka found and fixed profile data generation bug (beside the others) and Jakub Jelinek worked out a GCC bug which caused Firefox crash at startup.
That effort helped me to convince GCC to behave and thanks to those two guys Fedora can offer GCC Firefox builds with PGO (Profile-Guided Optimization) and LTO (Link-Time Optimization).
The new builds are waiting for you at Koji (Fedora 28, Fedora 29). Don’t hesitate to take them for a test drive, I use Speedometer as general browser responsibility benchmark. You can also compare them with official Mozilla builds which are built with clang PGO/LTO.
I am happy to see this. Thanks to all people involved.
LikeLike
Isn’t Firefox full of Rust these days? How is gcc handling those parts?
LikeLike
This is great news and I’m seeing a 17% performance increase on speedometer! Hope to see more GCC optimizations to land in Skia as outlined in http://hubicka.blogspot.com/2018/12/even-more-fun-with-building-and.html
@stransky: Can these changes get applied to Thunderbird builds, too?
LikeLike
That may be possible although I’m now sure how well TB supports PGO (profile guided optimization) setup by its recent build system.
LikeLike
Wow. I’m seeing 28% performance increase on my i7-2600K.
LikeLike