Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Maybe too much noise/undeterminism in our unicode runs atop cachegrind? #1299

Open
pnkfelix opened this issue Apr 20, 2022 · 2 comments
Open

Comments

@pnkfelix
Copy link
Member

pnkfelix commented Apr 20, 2022

Spawned off of rust-lang/rust#95958 (comment) and discussion at https://zulip-archive.rust-lang.org/stream/247081-t-compiler/performance/topic/triage.202022.2004.2019.html#279492421

Following the hints at https://perf.rust-lang.org/detailed-query.html?commit=dc4bfcbdfff651c82eff4bdd311d28e54d1513c4&base_commit=0d13f6afeba4935499abe0c9a07426c94492c94e&benchmark=unicode-normalization-0.1.19-debug&scenario=full, I proceed to try to do local cachegrind runs in order to understand where the regression was coming from.

  • I.e. I was invoking this command: ./target/release/collector profile_local cachegrind +0d13f6afeba4935499abe0c9a07426c94492c94e --rustc2 +dc4bfcbdfff651c82eff4bdd311d28e54d1513c4 --include unicode-normalization-0.1.19 --profiles Debug --scenarios Full

A problem with this was that there was significant variation from run to run, more variation than what we treat as "significant" in our own reporting.

How much noise/variance/undetermism is acceptable, given our current reporting thresholds?

(Can one do multiple cachegrind runs, accumulate their results, and diff the accumulation? Would that help to counter the variance here?)

@nnethercote
Copy link
Contributor

Can one do multiple cachegrind runs, accumulate their results, and diff the accumulation?

This is not possible.

@Mark-Simulacrum
Copy link
Member

It seems easy enough to have multiple runs of rustc under one cachegrind though, right? That should achieve basically the same effect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants