Do not activate full lto on libxul-gtest
Categories
(Firefox Build System :: General, task)
Tracking
(firefox145 fixed)
| Tracking | Status | |
|---|---|---|
| firefox145 | --- | fixed |
People
(Reporter: sergesanspaille, Assigned: sergesanspaille)
References
(Blocks 2 open bugs)
Details
(Keywords: perf-alert)
Attachments
(1 file)
When compiling libxul in full lto mode, we use the same flag for libxul-gtest. This is very costly (single threaded), it's on the critical path and does not bring any clear benefit.
| Assignee | ||
Comment 1•8 months ago
|
||
fat lto (see https://llvm.org/docs/FatLTO.html) makes it possible to
build object file once and use them for regular linking and full lto
linking, which is exactly what we need for libxul-gtest.
Updated•8 months ago
|
| Assignee | ||
Updated•8 months ago
|
Comment 2•8 months ago
|
||
thanks!
Updated•8 months ago
|
| Assignee | ||
Comment 3•8 months ago
•
|
||
Considering this profile (patch applied) :
https://profiler.firefox.com/public/wgwq9r5w8g30h69gw9kqmper4ydswchgs8aaq08/marker-chart/?globalTrackOrder=0&thread=0&timelineType=category&v=11
compared to this one (not directly a parent, but should be similar, without the patch):
https://profiler.firefox.com/public/q1eqhm9nytfasvcxdjyhhnh4xd035p3twem51g8/marker-chart/?globalTrackOrder=0&thread=0&timelineType=category&v=11
We gain ~7min over a run of ~52min \o/
Comment 6•8 months ago
|
||
Backed out for causing build bustages ffat-lto-objects related
Comment 9•8 months ago
|
||
Backed out for causing py mozbuild failures
Backout link: https://hg.mozilla.org/integration/autoland/rev/9a0867e72c4266cf848050e4403eb2fbee242128
Comment 10•8 months ago
|
||
| Assignee | ||
Updated•8 months ago
|
Comment 11•8 months ago
|
||
| bugherder | ||
Comment 12•7 months ago
|
||
(In reply to Pulsebot from comment #10)
Pushed by sguelton@mozilla.com:
https://github.com/mozilla-firefox/firefox/commit/b6beecfa0045
https://hg.mozilla.org/integration/autoland/rev/9cea492e94a5
Enable fat lto so that libxul-gtest can skip full lto r=glandium
Perfherder has detected a build_metrics performance change from push 9cea492e94a57932e3525ed5b9c4a3843bdcf038.
If you have any questions, please reach out to a performance sheriff. Alternatively, you can find help on Slack by joining #perf-help, and on Matrix you can find help by joining #perftest.
Improvements:
| Ratio | Test | Platform | Options | Absolute values (old vs new) |
|---|---|---|---|---|
| 14% | build times | linux64-shippable | nightly taskcluster-projects/970387039909/machineTypes/c3d-standard-60-lssd | 3,161.19 -> 2,717.29 |
| 13% | build times | linux64-nightlyasrelease | nightly nightly-as-release taskcluster-projects/970387039909/machineTypes/c3d-standard-60-lssd | 3,080.97 -> 2,693.21 |
Details of the alert can be found in the alert summary, including links to graphs and comparisons for each of the affected tests.
If you need the profiling jobs you can trigger them yourself from treeherder job view or ask a performance sheriff to do that for you.
You can run all of these tests on try with ./mach try perf --alert 46865
The following documentation link provides more information about this command.
| Assignee | ||
Comment 13•7 months ago
|
||
That's... very good news \o/
Description
•