Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: Low Performance than other forks probably due to compiler optimisations like avx not being used. #1517

Open
9 tasks done
Rtizer-9 opened this issue Nov 16, 2024 · 3 comments
Labels
bug Something isn't working P3 Not a priority, but something that can be worked on.

Comments

@Rtizer-9
Copy link

Rtizer-9 commented Nov 16, 2024

Pre-Submission Checklist

  • I have checked the existing/closed issues to ensure this issue has not already been reported.
  • I am using the latest supported version of the browser.
  • I have tried disabling all browser extensions/add-ons to rule out interference from these.
  • I have tried clearing the browser cache and cookies.
  • I have checked with a new profile and the issue still occurs.
  • I have provided detailed step-by-step instructions on how to reproduce the issue.
  • I have included relevant screenshots or console outputs.
  • I have checked that this problem is not occurring in the latest version of Firefox ESR.
  • This issue is specific to this browser and does not occur in other browsers.

Bug Summary

  • I checked official firefox nightly, mercury, floorp and zen and ran speedometer and also the about:buildconfig and floorp hardly seems to have compiler optimisations enabled as compared to other forks and is quite visible in speedometer tests.

  • I do understand that firefox base version is different from floorp but the compiler optimisation thing still holds.

  • Floorp clearly claims to be the fastest firefox fork and yet do not have AVX and similar things enabled.

  • I remember reading somewhere from the developers that they take performance seriously and some compiler optimisations are actually costing performance that's why it's not included but it seems floorp is missing way too many compiler optimisations as compared to mercury and zen.

  • Zen even provides different version optimised for newer CPUs and a generic version with zip, appimage and flatpaks for all of them.

  • Floorp is much more mature project than both Mercury and Zen with Mercury himself acknowledging that his thorium/codium projects will always get more priority than Mercury and yet he never fails to maximize the performance whenever he makes a release and despite of all these Floorp not using those compiler flags is strange.

  • Some recent discussion about compiler optimisation from both Mercury and Zen developers about both of them committing some flags to each other's base: https://github.com/Alex313031/Mercury/releases/tag/v.129.0.2, Update mozconfigs with -mavx2 -mfma, and correct issue in windows mozconfig rustflags zen-browser/desktop#1216 (comment)

Reproduction Steps

  1. Install Firefox release/nightly, Floorp, Mercury, Zen (zip, appimage,flatpak both specific and generic versions) and visit about:buildconfig and run speedometer.

Expected Behavior

Floorp should have similar if not much higher scores than zen and mercury.

Actual Behavior

Floorp is missing many compiler optimisation flags and performs low than zen and mercury in speedometer test.

Screenshots

zen-specific Zen-specific
Nightly Nightly
mercury Mercury
floorp Floorp

Browser Version

11.20

Operating System

Kubuntu 24.10

Additional Context

No response

@Rtizer-9 Rtizer-9 added the bug Something isn't working label Nov 16, 2024
@github-actions github-actions bot added P5 Developers do not respond, only patches are welcome unconfirmed Developer has not yet confirmed. labels Nov 16, 2024
@CutterKnife

This comment was marked as off-topic.

@Rtizer-9
Copy link
Author

Rtizer-9 commented Nov 17, 2024

In the screenshot Nightly is 134.xx and Zen is 132.xx and yet Zen manages to beat it. Mercury is 129 based.

I'm not asking to improve Floorp 11 only and I've already mentioned about different bases; I'm simply mentioning that floorp is not using compiler optimisations like others.

Whether it's 11 or 12, the optimisations need to be used like all other forks and that is something which can be applied to any release.

With the present compiler flags even if floorp 12 bases on a nightly, it'll still perform lower than some other fork using optimisations like avx. That's the point.

@typeling1578
Copy link
Member

typeling1578 commented Nov 17, 2024

These optimization flags need to be carefully considered as they can affect compatibility.

Additionally, it is important to consider that providing optimized binaries separately could double the build cost.

@typeling1578 typeling1578 added P3 Not a priority, but something that can be worked on. and removed unconfirmed Developer has not yet confirmed. P5 Developers do not respond, only patches are welcome labels Nov 17, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working P3 Not a priority, but something that can be worked on.
Projects
None yet
Development

No branches or pull requests

3 participants