Bug 1822111 - Chromium official Fedora build is much slower than RPM Fusion build
Summary: Chromium official Fedora build is much slower than RPM Fusion build
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: chromium
Version: 32
Hardware: x86_64
OS: Linux
unspecified
unspecified
Target Milestone: ---
Assignee: Tom "spot" Callaway
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-04-08 09:40 UTC by Artem
Modified: 2020-04-17 13:36 UTC (History)
4 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2020-04-17 13:17:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Artem 2020-04-08 09:40:45 UTC
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

Comment 1 Vitaly 2020-04-08 10:22:51 UTC
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.

Comment 2 Tom "spot" Callaway 2020-04-08 15:17:20 UTC
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.

Comment 3 Tom "spot" Callaway 2020-04-09 12:37:59 UTC
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.

Comment 4 Tom "spot" Callaway 2020-04-17 13:17:15 UTC
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.

Comment 5 Artem 2020-04-17 13:36:22 UTC
Thanks a lot Tom. IMHO worth it.


Note You need to log in before you can comment on or make changes to this bug.