Provide a way to for linux distributions to do PGO via xpcshell

NEW
Unassigned

Status

Firefox Build System
General
8 years ago
3 months ago

People

(Reporter: (dormant account), Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [ts])

(Reporter)

Description

8 years ago
As far as i can tell Linux distributions have 2 main problems with shipping PGO firefox.
a) xulrunner packaging. This means that xulrunner has to be built, then dependent packages(firefox, thunderbird), then profile data has to be gathered and then all of these packages have to be rebuilt.

b) No X on build machines.

Since xpcshell is a consumer of libxul.so, it could execute a few JS benchmarks, poke sqlite, etc. This would provide Linux distros with a headless, zero-packaging overhead way to do PGO.
One downside here is that xpcshell doesn't hit the same startup paths as something like Firefox, since it doesn't go through XRE_Main. I guess it might be better than nothing.

Anyway, you can execute any arbitrary script you want in the profiling phase, it doesn't have to be in our repository:
https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization
(Reporter)

Comment 2

8 years ago
(In reply to comment #1)
> One downside here is that xpcshell doesn't hit the same startup paths as
> something like Firefox, since it doesn't go through XRE_Main. I guess it might
> be better than nothing.

Right.

> 
> Anyway, you can execute any arbitrary script you want in the profiling phase,
> it doesn't have to be in our repository:
> https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization

I'm not sure what you are referring to.
This seems suboptimal because we won't exercise the rendering paths at all.
(Reporter)

Comment 4

8 years ago
(In reply to comment #3)
> This seems suboptimal because we won't exercise the rendering paths at all.

Indeed. On the other hand this will exercise our js component loading code, spidermonkey, etc. Apparently interpreters win most from PGO.
(In reply to comment #2)
> > Anyway, you can execute any arbitrary script you want in the profiling phase,
> > it doesn't have to be in our repository:
> > https://developer.mozilla.org/en/Building_with_Profile-Guided_Optimization
> 
> I'm not sure what you are referring to.

I mean that we could resolve this WFM, since Linux distros could provide their own script that runs xpcshell and use it in their PGO build. They don't need us to provide it.

Updated

3 months ago
Product: Core → Firefox Build System
You need to log in before you can comment on or make changes to this bug.