Skip to content

Optimization training data (PGO/IBC) in source-build #247

Open
@dagood

Description

@dagood

PGO/IBC optimization training data is used in CoreCLR and CoreFX (maybe more that I don't know about). There are two issues with using that in source-build:

  1. The tooling to generate/use the data isn't buildable from source (not OSS).
  2. Optimization data generation requires an existing product.
    • This forces the build to be (at least) two-staged: first to generate an unoptimized product so that we can generate the training data, then again to build the product using that training data.
    • This resembles the pre-built binary problem, but I don't think we need to seed the process with anything built beforehand.

Is it possible to fix (1)?

If we can't accomplish this, what impact does it have on source-build users?

Currently the optimization data packages are dummied out (for the offline build):

<DummyPackage Include="optimization.PGO.CoreCLR" Version="2.0.0-release-20170711-0120" />
<DummyPackage Include="optimization.linux-x64.PGO.CoreCLR" Version="2.0.0-release-20170711-0120" />
<DummyPackage Include="optimization.windows_nt-x64.PGO.CoreCLR" Version="2.0.0-release-20170711-0120" />
<DummyPackage Include="optimization.windows_nt-x86.PGO.CoreCLR" Version="2.0.0-release-20170711-0120" />

@dotnet/source-build-contrib

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-product-experienceImprovements in the end-user's product experience

    Type

    No type

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions