You are not logged in.

#1 2009-08-12 05:40:37

securitybreach
Member
From: In front of my computers
Registered: 2007-11-18
Posts: 416
Website

Firefox-pgo What is it?

Does anyone have a link explaining just exactly what firefox-pgo actually is? I know it is tracemonkey-enabled, XULrunner independent and is compiled for the processor and some optimizations but no real detail of the differences. I installed the package from AUR and I it seems a lot faster than regular firefox. I searched google and could not find any clear details on what it actually does. I tried to find out more information on it and all I could find was: https://developer.mozilla.org/en/Building_w...ed_Optimization The article seems to describe on how to do that in windows.

With PGO, after Firefox is compiled (written code is made ready for the computer as binary code), the just generated binary is ran while another application monitors how it behaves and creates a profile of what parts of Firefox are more used and in what order. Then the code is compiled again but this time guided by the produced profile generating a new optimized build

It is quite a bit faster than the normal binary version of firefox. I know this package is available on other distros as well but I could find barely any info on it besides some advantages but not really a true explanation. I believe it is more than just compiled for the machine's processor because a normal source install would do that. So anyone know any more info on the PGO version of firefox? Everything is the same as before. Nothing has changed, all extensions, etc work like before. So anyone have a link explaining just what it is and the advantages?

Thanks


"Every normal man must be tempted at times to spit upon his hands, hoist the black flag, and begin slitting throats." -- H.L. Mencken
Website      Configs
Forum Admin: Bruno's All Things Linux   
securitybreach<a>archlinux.us

Offline

#2 2009-08-12 06:13:58

toxygen
Member
Registered: 2008-08-22
Posts: 713

Re: Firefox-pgo What is it?

It's mainly for us old timers who like watching code compile over and over, wasti.. enjoying hours of our lives pass away only to have it fail at the last minute..

in all seriousness, i've been using firefox-pgo (and -beta) since i started using archlinux

i dont know much about how optimized it is, but it seems snappier and more stable to me.


"I know what you're thinking, 'cause right now I'm thinking the same thing. Actually, I've been thinking it ever since I got here:
Why oh why didn't I take the BLUE pill?"

Offline

#3 2009-08-12 06:33:17

securitybreach
Member
From: In front of my computers
Registered: 2007-11-18
Posts: 416
Website

Re: Firefox-pgo What is it?

I agree. I have only had it installed for an hour but it seems much faster. I know what you mean about it failing after waiting for it to compile. I run x86_64 and for the last week I have been trying to install it and it would fail after compiling every time. Thank god it was not hours like you mentioned. It took about  5 minutes on my machine. Of course I have 8gb of ram so that probably helped speed it up some.

Thanks for the reply anyway.

Last edited by securitybreach (2009-08-12 06:34:49)


"Every normal man must be tempted at times to spit upon his hands, hoist the black flag, and begin slitting throats." -- H.L. Mencken
Website      Configs
Forum Admin: Bruno's All Things Linux   
securitybreach<a>archlinux.us

Offline

#4 2009-08-12 07:27:18

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: Firefox-pgo What is it?

wikipedia wrote:

Profile-guided optimization (PGO, sometimes pronounced as "pogo"[1]) is a compiler optimization technique in computer programming to improve program runtime performance. In contrast to traditional optimization techniques that solely use the source code, PGO uses the results of test runs of the instrumented program to optimize the final generated code.[2] The compiler is used to access data from a sample run of the program across a representative input set. The data indicates which areas of the program are executed more frequently, and which areas are executed less frequently. All optimizations benefit from profile-guided feedback because they are less reliant on heuristics when making compilation decisions.

Offline

#5 2009-08-12 09:14:39

ArchArael
Member
Registered: 2005-06-14
Posts: 504

Re: Firefox-pgo What is it?

Interesting package...I'm building it right now.

TraceMonkey adds native‐code compilation to Mozilla's JavaScript engine (known as "SpiderMonkey"). It is based on a technique developed at UC Irvine called "trace trees", and building on code and ideas shared with the Tamarin Tracing project. The net result is a massive speed increase both in the browser chrome and Web‐page content.

source: https://wiki.mozilla.org/JavaScript:TraceMonkey

Have I understood well? Is Tracemonkey a sort of javascript engine optimisation for the architecture the engine is running on?

What does being XULrunner independent involve?

Last edited by ArchArael (2009-08-12 09:21:25)

Offline

#6 2009-08-12 09:23:05

uastasi
Member
From: Salento - Italy
Registered: 2007-11-27
Posts: 247

Re: Firefox-pgo What is it?

securitybreach wrote:

I agree. I have only had it installed for an hour but it seems much faster. I know what you mean about it failing after waiting for it to compile. I run x86_64 and for the last week I have been trying to install it and it would fail after compiling every time. Thank god it was not hours like you mentioned. It took about  5 minutes on my machine. Of course I have 8gb of ram so that probably helped speed it up some.

Thanks for the reply anyway.

Have you been able to build it on arch 64? I have some building errors.


Till the last battle, till the last bottle.
aur - twitter

Offline

#7 2009-08-12 09:45:09

bangkok_manouel
Member
From: indicates a starting point
Registered: 2005-02-07
Posts: 1,556

Re: Firefox-pgo What is it?

ArchArael wrote:

Interesting package...I'm building it right now.

TraceMonkey adds native‐code compilation to Mozilla's JavaScript engine (known as "SpiderMonkey"). It is based on a technique developed at UC Irvine called "trace trees", and building on code and ideas shared with the Tamarin Tracing project. The net result is a massive speed increase both in the browser chrome and Web‐page content.

source: https://wiki.mozilla.org/JavaScript:TraceMonkey

Have I understood well? Is Tracemonkey a sort of javascript engine optimisation for the architecture the engine is running on?

What does being XULrunner independent involve?

If you're using 3.5, you're already using tracemonkey. PGO is just about optimizing code, not adding code.

Offline

#8 2009-08-12 11:32:13

flamelab
Member
From: Athens, Hellas (Greece)
Registered: 2007-12-26
Posts: 2,160

Re: Firefox-pgo What is it?

uastasi wrote:
securitybreach wrote:

I agree. I have only had it installed for an hour but it seems much faster. I know what you mean about it failing after waiting for it to compile. I run x86_64 and for the last week I have been trying to install it and it would fail after compiling every time. Thank god it was not hours like you mentioned. It took about  5 minutes on my machine. Of course I have 8gb of ram so that probably helped speed it up some.

Thanks for the reply anyway.

Have you been able to build it on arch 64? I have some building errors.

Tracemonkey can't be built on x64 machines, that's why we (64bit users) encounter these errors.

Tracemonkey and Electrolysis, only 32bit.

Offline

#9 2009-08-12 11:32:45

blasse
Member
From: Poland
Registered: 2008-04-24
Posts: 303

Re: Firefox-pgo What is it?

Info about TM-enabled build is there since beta times of ff 3.5, when it was something new and not enabled by default. Firefox-pgo is just a firefox (with some optimizations in mozconfig) compiled with code profiling (you can find info about it in man gcc, wikipedia and firefox wiki).
XULrunner independent means, that you don't need to install xulrunner to use it tongue

uastasi wrote:

Have you been able to build it on arch 64? I have some building errors.

Try compiling firefox-pgo-beta - it seems to do better on x86-64.

flamelab wrote:

Tracemonkey can't be built on x64 machines, that's why we (64bit users) encounter these errors.

Tracemonkey and Electrolysis, only 32bit.

TM has nothing to do with it. Fact, TM is not enabled on 64bit, so native x86-64 firefox is slower than i686 version. But 64bit TM code is not merged yet to firefox source - it cannot make any problem, because it's absent wink

Last edited by blasse (2009-08-12 11:35:12)


Proud ex-maintainer of firefox-pgo

Offline

#10 2009-08-12 13:42:30

securitybreach
Member
From: In front of my computers
Registered: 2007-11-18
Posts: 416
Website

Re: Firefox-pgo What is it?

Thanks everyone. Up until yesterday, firefox-pgo would not build on my 64-bit Arch and I would get an error. Now it installs without any errors whatsoever.

Thanks


"Every normal man must be tempted at times to spit upon his hands, hoist the black flag, and begin slitting throats." -- H.L. Mencken
Website      Configs
Forum Admin: Bruno's All Things Linux   
securitybreach<a>archlinux.us

Offline

Board footer

Powered by FluxBB