Skip to content
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

Add additional benchmarks. #56

Merged
merged 3 commits into from
Apr 13, 2019
Merged

Add additional benchmarks. #56

merged 3 commits into from
Apr 13, 2019

Conversation

tkaitchuck
Copy link
Contributor

This covers performance of three cases I wanted to study when looking into https://github.com/Amanieu/hashbrown/issues/48

They are:
grow_by_insertion_kb which is similar to grow by insertion, but instead of every entry differing by 1, they differ by 1024. This makes an important performance difference to the hasher.

find_existing_high_bits which is similar to find_existing but uses 64 bit keys instead of 32 bit keys, where the lower 32 bits are zeros. This is a pathologically bad case for FxHash.

insert_8_char_string tests a case where the key is a string. (As opposed to all the existing tests which operate on u32 values. This is important to cover because strings as keys are very common.

@Amanieu
Copy link
Member

Amanieu commented Mar 31, 2019

You've got some failures on the rustfmt check. Run cargo fmt.

@Amanieu
Copy link
Member

Amanieu commented Mar 31, 2019

bors r+

bors bot added a commit that referenced this pull request Mar 31, 2019
56: Add additional benchmarks. r=Amanieu a=tkaitchuck

This covers performance of three cases I wanted to study when looking into https://github.com/Amanieu/hashbrown/issues/48

They are:
`grow_by_insertion_kb` which is similar to grow by insertion, but instead of every entry differing by 1, they differ by 1024. This makes an important performance difference to the hasher.

`find_existing_high_bits` which is similar to find_existing but uses 64 bit keys instead of 32 bit keys, where the lower 32 bits are zeros. This is a pathologically bad case for FxHash.

`insert_8_char_string` tests a case where the key is a string. (As opposed to all the existing tests which operate on u32 values. This is important to cover because strings as keys are very common.

Co-authored-by: Tom Kaitchuck <tom.kaitchuck@dell.com>
@bors
Copy link
Contributor

bors bot commented Mar 31, 2019

Timed out

@Amanieu
Copy link
Member

Amanieu commented Mar 31, 2019

@bors retry

@Amanieu
Copy link
Member

Amanieu commented Apr 13, 2019

bors r+

bors bot added a commit that referenced this pull request Apr 13, 2019
56: Add additional benchmarks. r=Amanieu a=tkaitchuck

This covers performance of three cases I wanted to study when looking into https://github.com/Amanieu/hashbrown/issues/48

They are:
`grow_by_insertion_kb` which is similar to grow by insertion, but instead of every entry differing by 1, they differ by 1024. This makes an important performance difference to the hasher.

`find_existing_high_bits` which is similar to find_existing but uses 64 bit keys instead of 32 bit keys, where the lower 32 bits are zeros. This is a pathologically bad case for FxHash.

`insert_8_char_string` tests a case where the key is a string. (As opposed to all the existing tests which operate on u32 values. This is important to cover because strings as keys are very common.

62: Remove incorrect debug_assert r=Amanieu a=Amanieu

Fixes #60 

Co-authored-by: Tom Kaitchuck <tom.kaitchuck@dell.com>
Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>
@bors
Copy link
Contributor

bors bot commented Apr 13, 2019

Build succeeded

  • continuous-integration/travis-ci/push

@bors bors bot merged commit 1cf0503 into rust-lang:master Apr 13, 2019
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.

None yet

2 participants