Merged
Conversation
8605178 to
5794bf2
Compare
CodSpeed Performance ReportMerging #142 will improve performances by 11.69%Comparing Summary
Benchmarks breakdown
|
5794bf2 to
1e9f21d
Compare
2 tasks
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 contains the following updates:
5.5.3->6.1.01.1.0->2.1.01.6.3->2.1.0Release Notes
xacrimon/dashmap (dashmap)
v6.1.0Compare Source
v6.0.1Compare Source
This is a patch release, now the main release for v6 as v6.0.0 was yanked shortly after release.
Thanks to @JesusGuzmanJr for notifying me about a critical bug that was introduced so that I could resolve it: #304.
PRs for this release: #305 + xacrimon/dashmap@d5c8be6
v6.0.0Compare Source
This release contains performance optimizations, most notably 10-40% gains on Apple Silicon but also 5-10% gains when measured in Intel Sapphire Rapids. This work was accomplished in:
Minor QoL improvements were made in:
Special to the following contributors for making this release possible:
rust-lang/rustc-hash (rustc-hash)
v2.1.0Compare Source
CloneforFxRandomStateCloneforFxSeededStatev2.0.0Compare Source
This replaces the previous "fxhash" algorithm originating in Firefox
with a custom hasher designed and implemented by Orson Peters (
@orlp).It was measured to have slightly better performance for rustc, has better theoretical properties
and also includes a significantly better string hasher.
no_stdbuildsv1.2.0Note: This version has been yanked due to issues with the
no_stdfeature!FxBuildHasherunit structFxRandomStatebased onrand(behind therandfeature) for random seedsconst fnCloneforFxHasherstructshepmaster/twox-hash (twox-hash)
v2.1.0Compare Source
Added
XxHash3_128and thexxhash3_128module.v2.0.1Compare Source
Fixed
XxHash3_64to hash 1to 3 bytes of data in debug mode. Release mode and different lengths
of data are unaffected.
v2.0.0Compare Source
This release is a complete rewrite of the crate, including
reorganization of the code. The XXH3 algorithm now matches the 0.8
release of the reference C xxHash implementation.
Added
XxHash32::oneshotandXxHash64::oneshotcan perform hashing withzero allocation and generally improved performance. If you have code
that creates a hasher and hashes a slice of bytes exactly once, you
are strongly encouraged to use the new functions. This might look
like:
There is a feature flag for each hashing implementation. It is
recommended that you opt-out of the crate's default features and
only select the implementations you need to improve compile speed.
Changed
The crates minimum supported Rust version (MSRV) is now 1.81.
Functional and performance comparisons are made against the
reference C xxHash library version 0.8.2, which includes a stable
XXH3 algorithm.
Support for randomly-generated hasher instances is now behind the
randomfeature flag. It was previously combined with thestdfeature flag.
Removed
The deprecated type aliases
XxHashandRandomXxHashBuilderhavebeen removed. Replace them with
XxHash64andxxhash64::RandomStaterespectively.RandomXxHashBuilder32andRandomXxHashBuilder64are no longeravailable at the top-level of the crate. Replace them with
xxhash32::RandomStateand ``xxhash64::RandomState` respectively.Xxh3Hash64andxx3::Hash64have been renamed toXxHash3_64andxxhash3_64::Hasherrespectively.The free functions
xxh3::hash64,xxh3::hash64_with_seed, andxxh3::hash64_with_secretare now associated functions ofxxhash3_64::Hasher:oneshot,oneshot_with_seedandoneshot_with_secret. Note that the argument order has changed.Support for the digest crate has been removed. The digest crate
is for cryptographic hash functions and xxHash is
non-cryptographic.
XxHash32andXxHash64no longer implementCopy. This preventsaccidentally mutating a duplicate instance of the state instead of
the original state.
Cloneis still implemented so you can makedeliberate duplicates.
The XXH3 128-bit variant is not yet re-written. Work is in progress
for this.
We no longer provide support for randomly-generated instances of the
XXH3 64-bit variant. The XXH3 algorithm takes both a seed and a
secret as input and deciding what to randomize is non-trivial and
can have negative impacts on performance.
Configuration
📅 Schedule: Branch creation - "before 10am on monday" in timezone Asia/Shanghai, Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.