Skip to content

Conversation

gottesmm
Copy link
Contributor

Specifically:

  1. Add the ability to tell the runner to run all of the payloads a second time in reverse.
  2. We previously just took 2 iters, 3 iters and used that to compute our
    value. Now we also do a 5 iter run and make sure that the delta in
    between (3/5) is twice the delta in between (2/3). If they are not, we
    flag the benchmark as unstable.

I also put in a couple of misc fixes that I found locally.

@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci smoke test

Otherwise, one can get results that seem to imply more rr traffic when in
reality, one was not tracking {retain,release}_n that as a result of better
optimization become just simple retain, release.
…hmark_O --list

This makes the output of the test more readable.
The way we already gather numbers for this test is that we run two runs of
`Benchmark_O $TEST` with num-samples=2, iters={2,3}. Under the assumption that
the only difference in counter numbers can be caused by that extra iteration,
subtracting the group of counts for 2,3 gives us the number of counts in that
iteration.

In certain cases, I have found that a small subset of the benchmarks are
producing weird output and I haven't had the time to look into why. That being
said, I do know what these weird results look like, so in this commit we do some
extra validation work to see if we need to fail a test due to instability.

The specific validation is that:

1. We perform another run with num-samples=2, iter=5 and subtract the iter=3
counts from that. Under the assumption that overall work should increase
linearly with iteration size in our benchmarks, we check if the counts are
actual 2x.

2. If either `result[iter=3] - result[iter=2]` or `result[iter=5] -
result[iter=3]` is negative. All of the counters we gather should never decrease
with iteration count.
@gottesmm gottesmm force-pushed the pr-7c946eae74676ddfef960009700cb28c2a9e0192 branch from 980f448 to 2840a76 Compare January 15, 2020 22:42
@gottesmm
Copy link
Contributor Author

@swift-ci python lint

6 similar comments
@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci python lint

@gottesmm
Copy link
Contributor Author

@swift-ci smoke test and merge

3 similar comments
@gottesmm
Copy link
Contributor Author

@swift-ci smoke test and merge

@gottesmm
Copy link
Contributor Author

@swift-ci smoke test and merge

@gottesmm
Copy link
Contributor Author

@swift-ci smoke test and merge

@swift-ci swift-ci merged commit ffc10a5 into swiftlang:master Jan 16, 2020
@gottesmm gottesmm deleted the pr-7c946eae74676ddfef960009700cb28c2a9e0192 branch July 23, 2021 21:52
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

Successfully merging this pull request may close these issues.

2 participants