Skip to content

[opt-dist] Profile-guided optimization of LLVM regressed on Windows hosts #144318

@ognevny

Description

@ognevny

It has been found in #143898 (comment) that PGO build of LLVM is slower than general one a bit (~1%). Later in #144255 (comment) it has been proved that performance of MSVC dist compiler is better (the same 1%) (all in case of serde and ruff compilation). Zulip discussion has been with a question what to do with dist-msvc at the moment.
If you want to test it locally, here are the SHAs of above PR's jobs:
#144255: parent - 6781992; build - 978fa84
#143898: parent - cccf075; build - a094db8
for testing you may use rustup-toolchain-install-master tool (cargo install --git https://github.com/kennytm/rustup-toolchain-install-master), then install CI toolchains (rustup-toolchain-install-master --component=cargo <SHA> -i x86_64-pc-windows-msvc so you'll have cargo too) and then compile your favourite crate/program with hyperfine to get perf results (hyperfine "cargo +<SHA_PARENT> build --release" "cargo +<SHA_BUILD> build --release" --prepare "cargo clean" --runs 5, this will build code 5 times for each command to get a more reliable output)

please leave a cc for Windows folks and other who can help/do extra profiling, feel free to edit my message to add more info

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-PGOArea: Profile-guided optimizations (PGO)C-bugCategory: This is a bug.I-prioritizeIssue: Indicates that prioritization has been requested for this issue.O-windowsOperating system: WindowsO-windows-msvcToolchain: MSVC, Operating system: Windowsneeds-triageThis issue may need triage. Remove it if it has been sufficiently triaged.regression-untriagedUntriaged performance or correctness regression.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions