Skip to content

Create initial version of a "dashboard" that shows long-term performance trends #192

Open
@michaelwoerister

Description

@michaelwoerister

This should implement rust-lang/rust#48750, but for starters just containing the FROM-SCRATCH and SMALL-CHANGE usage scenarios.

I imagine this to be a separate page on perf.rlo, showing just two graphs, one for each usage scenario.

Each graph should contain a data point for each stable release (starting a few releases back, maybe with 1.17), the current beta, and the current nightly. The score should be calculated as the geometric mean of all build times for the given usage scenario, as listed in rust-lang/rust#48750.

The main tasks to accomplish this are:

  • Add the missing benchmarks
    • ripgrep
    • webrender
    • cargo
    • winapi
    • stm32f103xx
    • encoding-rs (cargo test --lib --no-run)
    • clap-rs (cargo test --no-run)
    • regex (cargo test --lib --no-run)
    • syn (cargo test --no-run)
    • futures (cargo test --test=all --no-run)
  • Allow for running benchmarks in a Rust version specific way (so we don't crash when trying to specify -Cincremental on versions that don't support it yet)
  • Setup the new page (e.g. under perf.rlo/dashboard.html)

That page should make sure that all benchmark results for computing a given aggregate result are available, otherwise the result would be misleadingly low.

The new benchmarks should also be displayed on the regular perf.rlo page. Some open questions:

  • Do we need to start looking into running tests in parallel on multiple machines (because they are becoming more and more)?
  • What to do with the cargo test benchmarks? Probably just treat them as separate benchmarks, that is, they would add another row instead of another column: encoding-rs and encoding-rs (test), for example, would not be tied together in any way (although it would be nice if they could keep sharing the same source directory)

@Mark-Simulacrum, @nikomatsakis, thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-uiIssues dealing with the perf.rlo site UIC-feature-requestA feature request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions