Skip to content
This repository has been archived by the owner on Jan 23, 2023. It is now read-only.

Port BenchmarksGame updates to release/2.0.0 #14095

Merged

Conversation

JosephTremoulet
Copy link

Update the release branches to be in sync with master, to simplify comparing the performance of these benchmarks across releases.

For each benchmark, grab the current best C# .NET entry, and also grab
the current best serial implementation (since these are easier to work
with from the benchmarking perspective).

(cherry picked from commit 4d9e8b5)

** Apply default VS formatting

Also insert namespace BenchmarksGame.

(cherry picked from commit d0099ff)

** Modify benchmarks to run in perf test harness

 - Add result validation
 - Add [Benchmark] attributes and appropriate iteration counts
 - Minor edits here and there to target .NET Standard 1.4
 - Exception: pi-digits rewritten to use managed BitInteger instead of
   p/invoke out to GMP.

(cherry picked from commit e055116)

** Remove old versions of BenchmarksGame benchmarks

(cherry picked from commit 9a8151f)

** Rename BenchmarksGame files

Name each variant after its index on the site, not its comparative
status.

(cherry picked from commit 087f903)

** Add references to source CVS

This will make it easier to track changes in the future.

(cherry picked from commit be6743d)

** Manual formatting adjustments

Auto-formatting was leaving some new array expressions oddly indented.

(cherry picked from commit 0dcaa77)

** Update BenchmarksGames README.txt

Reflecting recent updates to the snapshot of these tests.

(cherry picked from commit 3bb67e9)

** Fix expected values in fannkuch-redux-5

The validation logic was testing against `chksum`, which actually can
vary depending on the number of processors (as that is used to determine
the number of threads across which the work is partitioned, and the
checksum is sensitive to the bucketing).  Change it to test against
`maxflips` instead, which is stable.

Fixes #14040.

(cherry picked from commit 307188e)

** Update exclusions for moved tests

Change dotnet#13994 moved some tests that were excluded from Helix runs, but
failed to update the exclusion list; fix that oversight and exclude the
tests in their new locations.

Fixes #14034.

(cherry picked from commit 13df954)

** Reset static state per iteration for k-nucleotide-9 (dotnet#14081)

Otherwise iterations keep getting slower and slower.

Also bump inner iteration count to 10 to restore the nominal one second
duration per iteration.

(cherry picked from commit fd1000c)
@jorive
Copy link
Member

jorive commented Sep 20, 2017

@dotnet-bot test Windows_NT x64 perf

Copy link
Member

@AndyAyersMS AndyAyersMS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would like to see the edit(s) you made for 1.1 make it over here too, just so the copies are identical.

To make it match the version in release/1.1.0 (and to improve
readability).
@JosephTremoulet
Copy link
Author

Updated with literal base change. That was the only edit vs what's in master.

Copy link
Member

@jorive jorive left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@JosephTremoulet JosephTremoulet merged commit c4c1394 into dotnet:release/2.0.0 Sep 26, 2017
@JosephTremoulet JosephTremoulet deleted the BenchmarksGame/2.0.0 branch September 26, 2017 20:29
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants