Page MenuHomeSolus

Build with clang, re-enable cross-lang PGO and LTO
ClosedPublic

Authored by joebonrichie on Dec 18 2020, 1:09 PM.
Tags
None
Referenced Files
F11017273: D10166.id24531.diff
Sun, Aug 6, 12:29 AM
F10955394: D10166.id.diff
Mon, Jul 17, 7:01 AM
F10848273: D10166.id24510.diff
Jun 11 2023, 2:13 PM
F10845863: D10166.id24531.diff
Jun 11 2023, 2:44 AM
F10841575: D10166.id24469.diff
Jun 10 2023, 7:55 AM
F10837695: D10166.diff
Jun 9 2023, 5:59 AM
F10836606: D10166.diff
Jun 8 2023, 6:40 PM
F10819659: D10166.id24531.diff
Jun 1 2023, 10:04 PM
Tokens
"Burninate" token, awarded by ermo."Burninate" token, awarded by livingsilver94."The World Burns" token, awarded by Staudey."Burninate" token, awarded by YakoYakoYokuYoku."Party Time" token, awarded by aleksvor."Love" token, awarded by Jacalz."Yellow Medal" token, awarded by algent.

Details

Summary

Packaging Changes

  • Use lld linker (required for cross-lang LTO)
  • Use libc++ instead of libstdc++ (firefox seems to require libc++ when building with clang now)

Performance

Resolves T8971.

Signed-off-by: Joey Riches <josephriches@gmail.com>

Test Plan

Browse as normal, verify performance improvement.

Diff Detail

Repository
R755 firefox
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ermo added a subscriber: ermo.

@joebonrichie :

Whoa. That's quite the improvement?! <3

Got some benchmarks for you guys. Results are an average of 5 runs each with nothing in the background, and a restart between each set. All benchmarks are from JetStream 2, with some removed due to abnormally high variance. Tl;dr: Averages 6.9% improvement across all benchmarks run.

BenchmarkOriginalD10166ImprovementStatistically Significant?
3d-cube-SP164.1189.315.29%Yes
3d-raytrace-SP150.8151.90.76%No
acorn-wtb17185.96%Yes
ai-astar234.1234.20.01%No
Air18019810.00%Yes
babylon-wtb15.316.79.21%Yes
Basic168.7194.615.35%Yes
bomb-workers47.847.5-0.56%No
Box2D202.9212.94.95%Yes
cdjs47.453.913.61%Yes
chai-wtb38.545.317.78%Yes
coffeescript-wtb18.320.110.07%Yes
crypto492.7494.70.39%No
crypto-aes-SP226.8225.8-0.44%No
crypto-md5-SP140.1147.55.25%Yes
crypto-sha1-SP235.3237.81.07%No
date-format-tofte-SP65.182.326.39%Yes
delta-blue307.2304.8-0.78%No
FlightPlanner171.219916.29%Yes
float-mm.c1212-0.15%No
gaussian-blur356.1363.21.98%No
gbemu95.398.12.95%Yes
hash-map158.7164.53.63%Yes
HashSet-wasm1818.42.37%Yes
jshint-wtb2528.815.12%Yes
json-parse-inspector729227.78%Yes
json-stringify-inspector150.7161.57.19%Yes
lebab-wtb25.929.915.32%Yes
mandreel43.944.61.56%Yes
ML19.519.3-0.96%No
navier-stokes590.1589.8-0.05%No
octane-code-load661.8770.416.41%Yes
octane-zlib18.418.2-0.62%No
OfflineAssembler53.359.210.97%Yes
pdfjs73.276.13.96%Yes
prepack-wtb22.925.611.75%Yes
raytrace240.1243.31.35%No
regex-dna-SP419.4401.7-4.22%Yes
regexp290.9302.43.97%Yes
richards253.4251.4-0.77%No
segmentation20.921.21.31%No
stanford-crypto-aes265.1272.32.73%Yes
stanford-crypto-pbkdf2361.4396.39.66%Yes
stanford-crypto-sha256442.4456.33.14%Yes
string-unpack-code-SP189.6201.56.27%Yes
typescript6.46.86.56%Yes
uglify-js-wtb15.918.516.05%Yes
WSL0.470.518.37%Yes

accidentality took out ./mach buildsymbols (copy-pasta)

joebonrichie edited the summary of this revision. (Show Details)

Readd ./mach buildsymbols

This revision is now accepted and ready to land.Dec 23 2020, 5:07 PM