Provide PGO builds of clang/gcc

NEW
Unassigned

Status

()

Core
Build Config
7 months ago
4 months ago

People

(Reporter: erahm, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

As a platform developer I'm interested in using a PGO build of clang (or gcc) that is trained on the Firefox codebase. I attempted to do this on my own and failed horribly, but it seems like something our build team could provide.

I don't need anything terribly special or smart, just a standard archive such as what llvm.org provides [1]. Personally I'd use this on Ubuntu 16.04 x86_64, I imagine a build for OSX would be welcome as well.

It's also possible this isn't worth the effort, so just evaluating whether a PGO build of clang has better performance should be a prerequisite.

[1] http://releases.llvm.org/download.html#3.9.0

Comment 1

4 months ago
I came across this, where they compiled FF with PGO GCC.
https://gcc.gnu.org/ml/gcc/2013-03/msg00210.html


"

Firefox:
vanilla:  5143.27s user 267.27s system 346% cpu 26:02.03 total
PGO    :  4590.37s user 270.21s system 344% cpu 23:28.89 total
LTO    :  5056.11s user 268.04s system 348% cpu 25:28.73 total
LTO+PGO:  4598.79s user 269.01s system 347% cpu 23:22.13 total

 * GCC build with PGO is ~10% faster than a vanilla bootstrapped compiler.
"

So, looks like a worthwhile optimisation.
Flags: needinfo?(erahm)
(In reply to mayankleoboy1 from comment #1)
> I came across this, where they compiled FF with PGO GCC.
> https://gcc.gnu.org/ml/gcc/2013-03/msg00210.html
> 
> 
> "
> 
> Firefox:
> vanilla:  5143.27s user 267.27s system 346% cpu 26:02.03 total
> PGO    :  4590.37s user 270.21s system 344% cpu 23:28.89 total
> LTO    :  5056.11s user 268.04s system 348% cpu 25:28.73 total
> LTO+PGO:  4598.79s user 269.01s system 347% cpu 23:22.13 total
> 
>  * GCC build with PGO is ~10% faster than a vanilla bootstrapped compiler.
> "
> 
> So, looks like a worthwhile optimisation.

That's great! Unfortunately I'm not the one to implement this, hopefully someone on the build team will take a look.
Flags: needinfo?(erahm)
You need to log in before you can comment on or make changes to this bug.