Backport Windows PGO + ThinLTO from main to v24 LTO builds for builds (x64 and Arm64)
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- JavaScript
- Sterne
- 122k
- Forks
- 37.3k
- Ø Merge
- 4 T. 2 Std.
- Gemergte PRs (30 T.)
- 283
Beschreibung
What is the problem this feature will solve?
Improve performance of Windows builds by 15% by backporting the perf improvements brought through PGO and ThinLTO enablement, from v26 to v24 LTS releases.
See issue #61964 for work description for the v26 changes.
Separate perf suite results are here
ThinLTO: https://github.com/JaneaSystems/node-thin-lto-perf
PGO: https://github.com/JaneaSystems/node-pgo-perf
What is the feature you are proposing to solve the problem?
Backport the relevant PRs (and related config changes the the build):
- [nodejs/node] Enable PGO for Windows builds (x64 and Arm64) (I #61964)
- [nodejs/node] build,win: enable PGO and LTO for Windows builds (PR #62761)
- [nodejs/node] build,win: build,win: replace LTCG with Thin LTO for releases (PR #63114)
- [nodejs/node] build,win: fix VS2022 arm64 PGO build (PR #63413)
- [nodejs/node] build,win: add PGO workload scripts (PR #63696)
What alternatives have you considered?
none
Beitragsleitfaden
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Beginne mit Issue #61964 und den aufgeführten PRs #62761, #63114, #63413 und #63696, um die Änderungen an Windows PGO und ThinLTO zu verstehen. Die Arbeit ist abgeschlossen, wenn die relevante Konfiguration auf v24 zurückportiert wurde und Windows-LTO-Builds sowohl für x64 als auch für Arm64 erfolgreich sind.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Bereich
- build-system, performance
- Issue-Typ
- Feature
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Aktivitätsstatus
- Aktiv
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 35/100