Subject: Please compile xulrunner with PGO optimizations
Date: Sun, 31 May 2009 16:14:19 -0400
Package: xulrunner
Version: 1.9.0.7-1
Severity: wishlist
xulrunner is not presently compiled with PGO (Profile Guided
Optimizations). PGO can significantly improve Iceweasel/Firefox
performance (some have reported a 3x performance improvement). It would be
really great if the Debian packages used PGO and made the mozilla browser
performance as well on Debian as it does on Windows. Thanks!
(There's a discussion about this downstream in this Ubuntu bug:
https://bugs.launchpad.net/ubuntu/+source/xulrunner-1.9.1/+bug/213708)
Thanks!
Subject: Re: Bug#531348: Please compile xulrunner with PGO optimizations
Date: Sun, 31 May 2009 22:49:43 +0200
On Sun, May 31, 2009 at 04:14:19PM -0400, Craig Andrews wrote:
> Package: xulrunner
> Version: 1.9.0.7-1
> Severity: wishlist
>
> xulrunner is not presently compiled with PGO (Profile Guided
> Optimizations). PGO can significantly improve Iceweasel/Firefox
> performance (some have reported a 3x performance improvement). It would be
> really great if the Debian packages used PGO and made the mozilla browser
> performance as well on Debian as it does on Windows. Thanks!
There are a whole lot of problems that make it almost impossible:
- Build time and buildd resources
- Upstream support (PGO is not supported yet on linux)
- Profiling requires a xulrunner application, and I think PGO upstream
scripts care about firefox. This means 2 things:
- xulrunner would be profiled for one application, and not others
- xulrunner would need to depend on the application, introducing a
dependency loop, or the packages should be merged.
Let's add to that that I don't know if PGO builds require network at
build time, but I sure hope it doesn't because that'd be a big NO.
Not coming any time soon, I'm afraid.
Mike
Acknowledgement sent
to "Craig Andrews" <[email protected]>:
Extra info received and forwarded to list. Copy sent to Mike Hommey <[email protected]>.
(Tue, 02 Jun 2009 03:57:13 GMT) (full text, mbox, link).
Subject: Re: Bug#531348: Please compile xulrunner with PGO optimizations
Date: Mon, 1 Jun 2009 23:49:10 -0400
> There are a whole lot of problems that make it almost impossible:
> - Build time and buildd resources
Granted - but Debian builds a lot of packages that require a lot of
processing power. I can't imagine building xulrunner 2x will be that
fatal.
> - Upstream support (PGO is not supported yet on linux)
https://bugzilla.mozilla.org/show_bug.cgi?id=418866 somewhat true... but
there are cases of successful building with PGO.
https://bugs.launchpad.net/ubuntu/+source/xulrunner-1.9/+bug/213708/comments/1
links to an arch package that does.
> - Profiling requires a xulrunner application, and I think PGO upstream
> scripts care about firefox. This means 2 things:
By my understanding of
https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization
xulrunner itself can be used as the profiling app. That way, Firefox isn't
needed at all.
> - xulrunner would be profiled for one application, and not others
> - xulrunner would need to depend on the application, introducing a
> dependency loop, or the packages should be merged.
>
> Let's add to that that I don't know if PGO builds require network at
> build time, but I sure hope it doesn't because that'd be a big NO.
The build doesn't seem to use the network, so I don't think this is an issue.
>
> Not coming any time soon, I'm afraid.
Considering the massive improvement in user experience, and the number of
users who use firefox/iceweasel, it would be nice if this change could be
done. For example, it doesn't look terribly good for Debian (justified or
not) that Firefox for Windows under Wine on Debian performs better than
native Iceweasel on the same Debian install.
>
> Mike
>
Thanks again,
~Craig
Subject: Re: Bug#531348: Please compile xulrunner with PGO optimizations
Date: Tue, 2 Jun 2009 07:42:25 +0200
On Mon, Jun 01, 2009 at 11:49:10PM -0400, Craig Andrews wrote:
> > There are a whole lot of problems that make it almost impossible:
> > - Build time and buildd resources
> Granted - but Debian builds a lot of packages that require a lot of
> processing power. I can't imagine building xulrunner 2x will be that
> fatal.
> > - Upstream support (PGO is not supported yet on linux)
> https://bugzilla.mozilla.org/show_bug.cgi?id=418866 somewhat true... but
> there are cases of successful building with PGO.
> https://bugs.launchpad.net/ubuntu/+source/xulrunner-1.9/+bug/213708/comments/1
> links to an arch package that does.
> > - Profiling requires a xulrunner application, and I think PGO upstream
> > scripts care about firefox. This means 2 things:
> By my understanding of
> https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization
> xulrunner itself can be used as the profiling app. That way, Firefox isn't
> needed at all.
> > - xulrunner would be profiled for one application, and not others
> > - xulrunner would need to depend on the application, introducing a
> > dependency loop, or the packages should be merged.
> >
> > Let's add to that that I don't know if PGO builds require network at
> > build time, but I sure hope it doesn't because that'd be a big NO.
> The build doesn't seem to use the network, so I don't think this is an issue.
> >
> > Not coming any time soon, I'm afraid.
> Considering the massive improvement in user experience, and the number of
> users who use firefox/iceweasel, it would be nice if this change could be
> done. For example, it doesn't look terribly good for Debian (justified or
> not) that Firefox for Windows under Wine on Debian performs better than
> native Iceweasel on the same Debian install.
massive improvement ? bwarf.
Mike
Acknowledgement sent
to Mike Hommey <[email protected]>:
Extra info received and forwarded to list. Copy sent to Maintainers of Mozilla-related packages <[email protected]>.
(Thu, 11 Mar 2010 15:21:03 GMT) (full text, mbox, link).
Subject: Re: Bug#531348: Please compile xulrunner with PGO optimizations
Date: Thu, 11 Mar 2010 16:20:05 +0100
On Mon, Jun 01, 2009 at 11:49:10PM -0400, Craig Andrews wrote:
> > There are a whole lot of problems that make it almost impossible:
> > - Build time and buildd resources
> Granted - but Debian builds a lot of packages that require a lot of
> processing power. I can't imagine building xulrunner 2x will be that
> fatal.
> > - Upstream support (PGO is not supported yet on linux)
> https://bugzilla.mozilla.org/show_bug.cgi?id=418866 somewhat true... but
> there are cases of successful building with PGO.
> https://bugs.launchpad.net/ubuntu/+source/xulrunner-1.9/+bug/213708/comments/1
> links to an arch package that does.
FWIW, it doesn't work with what we have in debian. Maybe with gcc-4.5,
but definitely not with gcc-4.4. All I get from the first build pass
(the one with instrumentation) is a crash in strlen at startup:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff40807c1 in strlen () from /lib/libc.so.6
(gdb) bt
#0 0x00007ffff40807c1 in strlen () from /lib/libc.so.6
#1 0x00007ffff6823a92 in __gcov_init () from /tmp/xulrunner/dist/bin/libxul.so
#2 0x00007ffff6824f56 in __do_global_ctors_aux () from /tmp/xulrunner/dist/bin/libxul.so
#3 0x00007ffff51888ab in _init () from /tmp/xulrunner/dist/bin/libxul.so
#4 0x00007fffffffe908 in ?? ()
#5 0x00007ffff7dee429 in ?? () from /lib64/ld-linux-x86-64.so.2
#6 0x00007ffff7dee5af in ?? () from /lib64/ld-linux-x86-64.so.2
#7 0x00007ffff7de1b2a in ?? () from /lib64/ld-linux-x86-64.so.2
#8 0x0000000000000001 in ?? ()
#9 0x00007fffffffeb8c in ?? ()
#10 0x0000000000000000 in ?? ()
I tried several values of optimization flags (default -Os
-freorder-blocks -fno-reorder-functions , -Os and -O2), nothing changes.
Mike
Debbugs is free software and licensed under the terms of the GNU General
Public License version 2. The current version can be obtained
from https://bugs.debian.org/debbugs-source/.