incr.comp.: Use 128bit SipHash for fingerprinting#45319
Merged
bors merged 4 commits intorust-lang:masterfrom Oct 20, 2017
Merged
incr.comp.: Use 128bit SipHash for fingerprinting#45319bors merged 4 commits intorust-lang:masterfrom
bors merged 4 commits intorust-lang:masterfrom
Conversation
Contributor
|
r? @pnkfelix (rust_highfive has picked a reviewer for you, use r? to override) |
Member
Author
|
@bors try |
Collaborator
bors
added a commit
that referenced
this pull request
Oct 16, 2017
[WIP] incr.comp.: Use 128bit SipHash for fingerprinting This PR switches incr. comp. result fingerprinting from 128 bit BLAKE2 to 128 bit SipHash. When we started using BLAKE2 for fingerprinting, the 128 bit version of SipHash was still experimental. Now that it isn't anymore we should be able to get a nice performance boost without significantly increasing collision probability. I'm going to start a try-build for this, so we can gauge the performance impact before merging (hence the `WIP` in the title).
Collaborator
|
☀️ Test successful - status-travis |
Member
Author
|
Thanks @Mark-Simulacrum! Yes this looks pretty much like what I expected after the previous benchmarks. I'll go fix those |
Member
Author
nikomatsakis
approved these changes
Oct 16, 2017
Contributor
|
@bors r+ |
Collaborator
|
📌 Commit 27b6c91 has been approved by |
Collaborator
bors
added a commit
that referenced
this pull request
Oct 19, 2017
…sakis incr.comp.: Use 128bit SipHash for fingerprinting This PR switches incr. comp. result fingerprinting from 128 bit BLAKE2 to 128 bit SipHash. When we started using BLAKE2 for fingerprinting, the 128 bit version of SipHash was still experimental. Now that it isn't anymore we should be able to get a nice performance boost without significantly increasing collision probability. ~~I'm going to start a try-build for this, so we can gauge the performance impact before merging (hence the `WIP` in the title).~~ EDIT: Performance improvements look as expected. Tests seem to be passing. Fixes #41215.
Collaborator
|
💔 Test failed - status-travis |
Member
|
@bors retry Travis macOS 6.5-hour timeout. |
Collaborator
bors
added a commit
that referenced
this pull request
Oct 20, 2017
…sakis incr.comp.: Use 128bit SipHash for fingerprinting This PR switches incr. comp. result fingerprinting from 128 bit BLAKE2 to 128 bit SipHash. When we started using BLAKE2 for fingerprinting, the 128 bit version of SipHash was still experimental. Now that it isn't anymore we should be able to get a nice performance boost without significantly increasing collision probability. ~~I'm going to start a try-build for this, so we can gauge the performance impact before merging (hence the `WIP` in the title).~~ EDIT: Performance improvements look as expected. Tests seem to be passing. Fixes #41215.
Collaborator
|
☀️ Test successful - status-appveyor, status-travis |
bors
added a commit
that referenced
this pull request
Oct 25, 2017
…erister Use 128 bit instead of Symbol for crate disambiguator As discussed on gitter, this changes `crate_disambiguator` from Strings to what they are represented as, a 128 bit number. There's also one bit I think also needs to change, but wasn't 100% sure how: [create_root_def](https://github.com/rust-lang/rust/blob/f338dba29705e144bad8b2a675284538dd514896/src/librustc/hir/map/definitions.rs#L468-L482). Should I change `DefKey::root_parent_stable_hash` to accept `Fingerprint` as crate_disambiguator to quickly combine the hash of `crate_name` with the new 128 bit hash instead of a string for a disambiguator? r? @michaelwoerister EDIT: Are those 3 tests `mir-opt` failing, because the hash is different, because we calculate it a little bit differently (storing directly instead of hashing the hex-string representation)? Should it be updated like in #45319?
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR switches incr. comp. result fingerprinting from 128 bit BLAKE2 to 128 bit SipHash. When we started using BLAKE2 for fingerprinting, the 128 bit version of SipHash was still experimental. Now that it isn't anymore we should be able to get a nice performance boost without significantly increasing collision probability.
I'm going to start a try-build for this, so we can gauge the performance impact before merging (hence theWIPin the title).EDIT: Performance improvements look as expected. Tests seem to be passing.
Fixes #41215.