Open Bug 599534 Opened 14 years ago Updated 2 years ago

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

Categories

(Firefox Build System :: General, defect)

x86
Linux
defect

Tracking

(Not tracked)

People

(Reporter: taras.mozilla, Unassigned)

Details

(Whiteboard: [ts])

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
(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.
(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.
Product: Core → Firefox Build System
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.