Description of problem: The official Chromium Fedora build is much slower than RPM Fusion build (chromium-freeworld) in render and JS benchmarks, not only video decoding because of VAAPI patch. Difference is huge, see screenshots from Speedometer [1] benchmark: - chromium: https://atim.fedorapeople.org/images/chromium.png - chromium-freeworld: https://atim.fedorapeople.org/images/chromium-freeworld.png Also 'chromium-freeworld' faster in various JS benchmarks. Version-Release number of selected component (if applicable): 80.0.3987.163 How reproducible: Try to run both browser in Speedometer [1] benchmark. Run browser in incognito mode without any extensions. Also try to run various JS benchmarks. Additional info: What can cause this? If this because of just compiler optimization like '-O3' and others, can we turn it for official build. Building with '-O3' flag is allowed in Fedora **if you have proof** that this improving performance [2]. Even Firefox without Webrender slightly faster 'chromium' in Speedometer benchmark. [1]: https://browserbench.org/Speedometer2.0/ [2]: https://docs.fedoraproject.org/en-US/packaging-guidelines/#_compiler_flags
I think that RPM Fusion's build is faster because it does not use Fedora build flags. Fedora's hardened CXX flags significantly increase security level, but decrease performance.
Well, this is always tricky. A) Fedora's Chromium build does not use Fedora's build flags. We use whatever Chromium sets for us. I would assume the rpmfusion package does the same. B) Fedora's Chromium has VAAPI enabled (again) so that should be the same as rpmfusion C) Fedora builds with all the sub-components inside Chromium as shared objects. Google Chrome (and I believe the rpmfusion package) builds as a giant static linked binary. I do this so that people can swap out the media shared files with ones that have the additional codecs enabled, but it does not seem like rpmfusion is providing that addon package anymore. I think C is probably what is causing this performance gap. I'm going to do some local testing to see if I can confirm this.
It does appear that the static build has notably better performance. I guess the score chart is: STATIC SHARED ====== ====== * fast * smaller binary * working krb5 * can add media codecs without total reinstall Maybe (maybe) I can add a "chromium-static" subpackage for people who want/need that build type, but it seems needlessly confusing for the end user. Open to opinions.
After discussion on fedora-devel, I decided to switch to the static build. This is in the 81 update which I just added to chromium (and is in Rawhide). If this performance issue persists, please reopen.
Thanks a lot Tom. IMHO worth it.