chaotic-aur / packages

The packages Mason, what do they mean? (Package requests and bug reports here) 📑
https://aur.chaotic.cx
326 stars 20 forks source link

[Request] zen-browser-bin #3290

Closed Ast3risk-ops closed 18 hours ago

Ast3risk-ops commented 2 weeks ago

Package:

https://aur.archlinux.org/packages/zen-browser-bin

Purpose:

Zen Browser is basically Arc but Firefox, makes Firefox more modern, more beautiful, more private (includes some BetterFox patches), and faster.

It has workspaces, themes, and vertical tabs for instance.

Benefits:

It's way faster than Firefox and more beautiful and customizable than Firefox. Also more private through said BetterFox patches.

Building:

Run makepkg -si, which will download the latest prebuilt zen.linux-specific.tar.bz2 and extract the files to the right folders. Disables the builtin updater through a policies.json.

Copyright:

MPL-2.0

Expected Interest:

Many

Already available?

No

Unique request?

Yes

Banned package?

No

More information:

Website: https://zen-browser.app Github: https://github.com/zen-browser/desktop Stars: 10.1k

This version is optimized for newer AVX2 processors.

There is also a generic version for older machines, zen-browser-bin though my request centers on the AVX2 version.

xiota commented 2 weeks ago

I prefer avoiding -bin browser packages, but suppose it would be fine if different enough from other firefox forks.

Have you benchmarked the two versions to confirm that there is actually performance benefit from avx2?

Ast3risk-ops commented 2 weeks ago

I prefer avoiding -bin browser packages, but suppose it would be fine if different enough from other firefox forks.

Have you benchmarked the two versions to confirm that there is actually performance benefit from avx2?

Zen has done their own benchmarks.

https://docs.zen-browser.app/benchmarks

Basemark scores are 1912.77 for ff nightly and 1957 for the latest version of Zen.

Speedometer is 21.7 for Zen and 27.0 for Firefox nightly.

Speed graph between versions:

image

xiota commented 2 weeks ago

I mean avx2 vs standard build. Have to run benchmarks multiple times to get low, same error margins.

In my past testing for other forks, optimizing for instruction set doesn't make any significant difference for firefox and chromium based browsers. Most likely they already include multiple optimization targets in critical paths.

Ast3risk-ops commented 2 weeks ago

I mean avx2 vs standard build. Have to run benchmarks multiple times to get low, same error margins.

In my past testing for other forks, optimizing for instruction set doesn't make any significant difference for firefox and chromium based browsers. Most likely they already include multiple optimization targets in critical paths.

No I haven't checked.

Ast3risk-ops commented 2 weeks ago

I mean avx2 vs standard build. Have to run benchmarks multiple times to get low, same error margins.

In my past testing for other forks, optimizing for instruction set doesn't make any significant difference for firefox and chromium based browsers. Most likely they already include multiple optimization targets in critical paths.

On my flawed test environment:

Clean tar.bz2 generic: 10.5

Maybe not-so-clean outdated AUR package Optimized: 10

Expected score on official benchmarks for Optimized (different machine): 21.7

I did remove all extensions but I did have 3 small themes.

You'll probably want to test this yourself.

xiota commented 1 week ago

The ± errors are important. Suppose generic is 10.5 ± 0.25 and optimized is 10 ± 0.25. That would mean generic performs significantly better than optimized because the ranges do not overlap. But if the results were 10.5 ± 0.65 and 10 ± 0.65, there is overlap, so there would be "no significant difference".

When testing Firefox/Chromium forks with everything the same except microarchitecture optimization, the generic build often had same or slightly "better" results, but still not significantly different. If you check the instruction sets contained by the generic build (easiest is with intelxed), you'll find it already contains AVX/AVX2 instructions ⇒ they already include instruction set optimization in the build process.

So if the only reason you want this fork is for performance optimization, adding it wouldn't be worth the effort. But if it has different features, it could be worth adding. However, it's a -bin package, so users could easily make it themselves.

Ast3risk-ops commented 1 week ago

@xiota Yeah, but I personally notice a decent speed difference compared to normal firefox, and the extraction-then-compression process during install can take a while depending on the computer.

BinaryHarbinger commented 21 hours ago

Hi there I'm just commenting to support the request flatpak version basically sucks and who wants to compile whole browser in their system (except that Gentoo guys)

Basically zen browser has lot of things to talk like vertical tabs and faster web engines. That is why we want it in Chaotic Aur

xiota commented 21 hours ago

I'll run benchmarks between zen-browser-avx2-bin and zen-browser-bin. If I don't see consistent significant difference, will add zen-browser-bin.

xiota commented 19 hours ago

Methodology:

  1. Build and install package
  2. Run browser, create default profile
  3. Run Speedometer 2.1 at least twice. Repeat until error is less than 2.

Results: No significant difference between standard and avx2 versions of zen browser. Meanwhile, firefox from Arch repo and floorp 11.18.0 from Chaotic AUR repo are significantly faster.

Notes: