Skip to content

[benchmark] Janitor Duty: Thesaurus Heirloom #22026

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

Merged
merged 26 commits into from
Jan 23, 2019

Conversation

palimondo
Copy link
Contributor

@palimondo palimondo commented Jan 21, 2019

This PR follows-up #20861, #21413, #21516 and #21794. It's a next batch of benchmark clean-up to enable robust performance measurements by adjusting workloads to run in reasonable time (< 1000 μs), minimizing the accumulated error. To maintain long-term performance tracking, it applies legacy factor where necessary.

This one's without a unifying theme, just trodding down the alphabet, skipping over troublemakers.

@palimondo
Copy link
Contributor Author

@swift-ci please benchmark

@swift-ci

This comment has been minimized.

@palimondo
Copy link
Contributor Author

Hmm… let's make this easier by postponing the changes to benchmarks that result in side-effects for later. I'm going to force-push update that includes only the no-changes subset.

@palimondo palimondo force-pushed the a-tall-white-fountain-played branch from 1c9b2a2 to 3417ee6 Compare January 22, 2019 08:32
@palimondo
Copy link
Contributor Author

@swift-ci please benchmark

@palimondo
Copy link
Contributor Author

@swift-ci please smoke test

@palimondo palimondo requested a review from eeckstein January 22, 2019 08:33
@palimondo palimondo changed the title [WIP][benchmark] Janitor Duty: Thesaurus Heirloom [benchmark] Janitor Duty: Thesaurus Heirloom Jan 22, 2019
@swift-ci
Copy link
Contributor

Build comment file:

Performance: -O

TEST OLD NEW DELTA RATIO
Regression
DataAppendDataLargeToLarge 37200 52000 +39.8% 0.72x (?)
Improvement
DictionaryBridgeToObjC_Access 943 854 -9.4% 1.10x (?)
MapReduce 396 368 -7.1% 1.08x (?)

Code size: -O

TEST OLD NEW DELTA RATIO
Regression
LinkedList.o 1942 2376 +22.3% 0.82x

Performance: -Osize

TEST OLD NEW DELTA RATIO
Improvement
RandomShuffleLCG2 1744 1568 -10.1% 1.11x

Code size: -Osize

TEST OLD NEW DELTA RATIO
Regression
LinkedList.o 1969 2313 +17.5% 0.85x
Improvement
MapReduce.o 26547 26163 -1.4% 1.01x

Performance: -Onone

TEST OLD NEW DELTA RATIO
Regression
DataAppendDataLargeToLarge 38800 51600 +33.0% 0.75x (?)
Phonebook 61902 74732 +20.7% 0.83x
How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB
--------------

@palimondo
Copy link
Contributor Author

palimondo commented Jan 22, 2019

@eeckstein Please review 🙏
The -O changes are in unmodified benchmarks 🤷‍♂️ . I don't know why RandomShuffleLCG2 improved in -Osize. Phonebook comes up in -Onone because of the non-linear relationship between un-/optimized builds(?). I'm assuming this is all fine.

cc @phausler, @itaiferber FYI: The unmodified DataAppendDataLargeToLarge (-O: +39.8%, -Osize: unchanged, -Onone: +33.0%) seems to be highly sensitive to code alignment, as it's popping up quite often during this cleanup. DataAppendDataMediumToLarge (-O: -39.5%) also showed up in the first benchmark report — see collapsed 3rd comment.

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.

3 participants