3
0
Fork 0
forked from mirrors/nixpkgs
nixpkgs/pkgs
Martin Weinelt 0d3772f645 firefox: add profile-guided optimization
Lo and behold, we're finally catching up with Mozillas very own firefox
build in terms of speed.

PGO is an optimization technique in which in a first step we create a
build that supports instrumentation, meaning we can use it to create a
profile of how the browser behaved during usage. Then in a second pass
we create the final build that uses the acquired profiling data to
optimize the browser for the workload it actually received during
profiling.

The downside is that with PGO we now need to build Firefox twice, which
increases the build time from around 20 minutes to roughly 50 minutes.

In the Speedometer 2.0 benchmark multiple tests could see a
responsiveness improvemeant around 20-25%, which makes the increased
build time well worth it.

Sadly this benefit seems limited to x86_64-linux, builds on
aarch64-linux get stuck during profiling and I haven't found out why.

Finally, after a long time, we can say:

Closes: #76484
Supersedes: #129503
2022-03-28 21:42:49 +02:00
..
applications firefox: add profile-guided optimization 2022-03-28 21:42:49 +02:00
build-support
common-updater
data Merge pull request #151705 from uakci/mplus-add-github-release 2022-03-28 13:40:32 +02:00
desktops Merge pull request #165868 from LibreCybernetics/remove-python2-dependencies-from-gnome 2022-03-28 14:38:17 +02:00
development ocamlPackages.core_unix: init at 0.14 2022-03-28 21:41:36 +02:00
games
misc Merge pull request #165936 from ckiee/logiops-init 2022-03-28 16:36:16 +02:00
os-specific Merge pull request #166056 from IvarWithoutBones/fix/rtl8821ce-5_17 2022-03-28 17:16:48 +02:00
pkgs-lib
servers Merge pull request #165831 from r-ryantm/auto-update/check_ssl_cert 2022-03-28 21:08:57 +02:00
shells oh-my-zsh: 2022-03-26 -> 2022-03-28 2022-03-28 12:04:54 +00:00
stdenv
test
tools Merge pull request #166061 from SuperSandro2000/sshuttle 2022-03-28 20:52:36 +02:00
top-level ocamlPackages.bolt: remove at 1.4 (broken with OCaml 4.02) 2022-03-28 21:01:41 +02:00