haarp wrote:Greetings.
I've seen that there are a bunch of optimized Windows Firefox builds in the wild, some of which claim to offer enormous performance improvements.
(source) Mashed_up's comments indicate that there are a bunch of patches.
And indeed, looking at pcxfirefox, bullet points such as
"Multithread load depending on tmemutil module (OpenMP)" or
"Improve some math functions' performance (SIMD)"
sound very interesting, but will most likely need a ton of adaptation or more. And of course there's the old trick of just compiling the whole thing with icc instead (which I'm not very eager to attempt anyway)
Has anyone tried some of these patches already, or is willing o give it a go?
Well, I am the maintainer of pcxfirefox.
What I want to say is that my most patches can't be used for Linux target (or some need to be redesigned).
But Firefox on Linux also can use my BetterPGO method, which will improve the performance greatly.
Gentoo is my most favorite linux distro, and I think Firefox is the first choice on Linux, so there is no need to do something.
If you want to provide it, you can pass CFLAGS/CXXFLAGS/LDFLAGS to build process using:
CFLAGS or CXXFLAGS:
-O2 -march=native -mtune=core-avx-i -fivopts -fmodulo-sched -fmodulo-sched-allow-regmoves -fomit-frame-pointer -finline-functions -minline-all-stringops -flto (GCC4.6.1 AVX optimization may cause wrong code, you can use -mno-avx or GCC4.7.1 or latest GCC4.6 branch)
LDFLAGS:
-flto -fuse-linker-plugin
The options can also improve the performance remarkably.