-
Notifications
You must be signed in to change notification settings - Fork 10.5k
Add benchmark for quadratic hash performance #7617
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
Conversation
7a3a4bf
to
c53e8d6
Compare
@natecook1000 Your CMakeLists.txt_template changes aren't in the actual CMakeLists.txt file. Run the scripts/generate_harness/generate_harness.py script to generate it from the template. |
The problem was that someone made changes to the generated version and checked that in — my changes to the template only reflect that change. |
@swift-ci benchmark |
Build comment file:Optimized (O) |
|
@swift-ci Please smoke test |
You're right. LGTM. |
dict2[k] = v | ||
} | ||
|
||
CheckResults(dict2[size/2] == dict2[size/2], |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@natecook1000 My apologies for missing this. It appears you're trying to compare dict1 and dict2 but you have dict2 on both sides.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You're so right! I think that will still defeat inlining, but I'll fix ASAP. Thanks!
On my Late 2008 MBP, it takes 40s to run 1 iteration in O build and 640s in Onone build! For 20 iterations, my machine spends more than 3,5 hours on this single performance test. Could we adjust the size to something more reasonable? It should take less than a second to run one iteration of test run, the benchmark driver will up the N in the outer loop as necessary to run for about a second. // cc @lplarson @dabrahams |
The CI machine is about 10x faster than my MBP, but it still takes 6s in O, and 50s in Onone build per iteration. That is overall about 20 minutes on this single test. |
The idea was to actually fix this issue in short order so the test wouldn't actually be quadratic. We definitely don't need to be slowing down the entire benchmarking suite if we don't have a fix in flight. |
Umm... you've referenced fix in commit ca99ee2, did that not land? I'm confused about where that one commit comes from... |
It seems it is in the tree... did that not fix the issue? |
This is a hopefully reasonably quick benchmark for the issue described in SR-3268. There's a fix in ca99ee2c342e07a277938ba2bb1b5bfd418ce0c2 that can be tested once the benchmark is in.
(This includes an update to the CMakeList template, since the autogenerated file was edited in a previous commit.)