FS#10596 - Build firefox3 with Profile-Guided Optimization

Attached to Project: Arch Linux
Opened by Ramses de Norre (Ramses_de_Norre) - Thursday, 05 June 2008, 17:07 GMT
Last edited by Jan de Groot (JGC) - Thursday, 19 June 2008, 10:10 GMT
Task Type Feature Request
Category Packages: Unstable
Status Closed
Assigned To Jan de Groot (JGC)
Architecture All
Severity Medium
Priority Normal
Reported Version 2007.08-2
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 8
Private No

Details

Description:
is it possible to build firefox3 with Profile-Guided Optimization? It is done for the official windows and mac builds and there is a package with it in AUR (http://aur.archlinux.org/packages.php?ID=15184). The build process is described here: http://developer.mozilla.org/en/docs/Building_with_Profile-Guided_Optimization

Building firefox with this optimization seems to cause a huge performance win.
This task depends upon

Closed by  Jan de Groot (JGC)
Thursday, 19 June 2008, 10:10 GMT
Reason for closing:  Won't implement
Additional comments about closing:  This can't work when firefox is compiled with libxul. The profile script doesn't work with xulrunner yet.
Comment by Aaron Griffin (phrakture) - Thursday, 05 June 2008, 17:42 GMT
Seems kinda neat
Comment by Dan McGee (toofishes) - Thursday, 05 June 2008, 18:26 GMT
Sounds neat but I don't really want to and no other developers were motivated enough to even package firefox 3. I don't have the machine or want to spend the 3 hours this takes either, so I'm going to veto this unless some other developer wants to take ownership of the package.
Comment by Jan de Groot (JGC) - Thursday, 05 June 2008, 21:20 GMT
The reason I'm not motivated to package firefox3 yet is because I still maintain and use the firefox2-based products. When firefox3 is released, I also want to take xulrunner to the next level.

I've looked at this feature and it looks quite easy to do. Just some options added to mozconfig and a different target for make -f client.mk.
Comment by Dan McGee (toofishes) - Thursday, 05 June 2008, 21:23 GMT
Since firefox3 is in RC anyway, I think I won't implement this for the RCs or anything.

Jan, when firefox3 goes final and then gets packaged as the actual firefox package, feel free to look into this if you want and you are a much better GUI program packager than I. Until then, my builds will not include PGO.

And it wasn't a shot at you at all when I mentioned no other dev was interested- this isn't the funnest package in the world to build and having to maintain two of them would kind of suck. :)
Comment by Hussam Al-Tayeb (hussam) - Friday, 06 June 2008, 21:42 GMT
The documentation says you have to manually run the profiling scenarios and then also manually close the browser.
Shouldn't building packages be fully automated? In this case, simply running makepkg isn't enough.
Comment by Suety Wound (eWoud) - Friday, 06 June 2008, 22:18 GMT
The build is fully automated, as far as I can see. It just takes about twice as long.

I've attached a patch for the current firefox3 version in unstable.
   pgo.diff (1.1 KiB)
Comment by Suety Wound (eWoud) - Friday, 06 June 2008, 23:05 GMT
To clarify, I was referring to the package in AUR, which uses a script to generate the profiling data.

Hussam is of course right, it at least requires some sort of X server to run the application. But perhaps the extra hassle is worth it for something as important as firefox.

Loading...