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

chore(deps): update rust crates (major) #142

Merged
merged 2 commits into from
Dec 12, 2024
Merged

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Dec 9, 2024

This PR contains the following updates:

Package Type Update Change
dashmap dependencies major 5.5.3 -> 6.1.0
rustc-hash dependencies major 1.1.0 -> 2.1.0
twox-hash dev-dependencies major 1.6.3 -> 2.1.0

Release Notes

xacrimon/dashmap (dashmap)

v6.1.0

Compare Source

v6.0.1

Compare 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.0

Compare 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.0

Compare Source

  • Implement Clone for FxRandomState
  • Implement Clone for FxSeededState
  • Use SPDX license expression in license field

v2.0.0

Compare Source

  • Replace hash with faster and better finalized hash.
    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.
  • Fix no_std builds

v1.2.0

Note: This version has been yanked due to issues with the no_std feature!

  • Add a FxBuildHasher unit struct
  • Improve documentation
  • Add seed API for supplying custom seeds other than 0
  • Add FxRandomState based on rand (behind the rand feature) for random seeds
  • Make many functions const fn
  • Implement Clone for FxHasher struct
shepmaster/twox-hash (twox-hash)

v2.1.0

Compare Source

Added
  • The XXH3 128-bit algorithm is implemented via XxHash3_128 and the
    xxhash3_128 module.

v2.0.1

Compare Source

Fixed
  • Removed a panic that could occur when using XxHash3_64 to hash 1
    to 3 bytes of data in debug mode. Release mode and different lengths
    of data are unaffected.

v2.0.0

Compare 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::oneshot and XxHash64::oneshot can perform hashing with
    zero 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:

    // Before
    let mut hasher = XxHash64::new(); // or XxHash32, or with seeds
    some_bytes.hash(&mut hasher);
    let hash = hasher.finish();
    
    // After
    let hash = XxHash64::oneshot(some_bytes);
  • 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
    random feature flag. It was previously combined with the std
    feature flag.

Removed
  • The deprecated type aliases XxHash and RandomXxHashBuilder have
    been removed. Replace them with XxHash64 and
    xxhash64::RandomState respectively.

  • RandomXxHashBuilder32 and RandomXxHashBuilder64 are no longer
    available at the top-level of the crate. Replace them with
    xxhash32::RandomState and ``xxhash64::RandomState` respectively.

  • Xxh3Hash64 and xx3::Hash64 have been renamed to XxHash3_64 and
    xxhash3_64::Hasher respectively.

  • The free functions xxh3::hash64, xxh3::hash64_with_seed, and
    xxh3::hash64_with_secret are now associated functions of
    xxhash3_64::Hasher: oneshot, oneshot_with_seed and
    oneshot_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.

  • XxHash32 and XxHash64 no longer implement Copy. This prevents
    accidentally mutating a duplicate instance of the state instead of
    the original state. Clone is still implemented so you can make
    deliberate 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/major-rust-crates branch from 8605178 to 5794bf2 Compare December 9, 2024 18:40
Copy link

codspeed-hq bot commented Dec 9, 2024

CodSpeed Performance Report

Merging #142 will improve performances by 11.69%

Comparing renovate/major-rust-crates (5adeac5) with main (54ad6f2)

Summary

⚡ 1 improvements
✅ 6 untouched benchmarks

Benchmarks breakdown

Benchmark main renovate/major-rust-crates Change
concat_generate_string_with_cache 16 µs 14.3 µs +11.69%

@renovate renovate bot force-pushed the renovate/major-rust-crates branch from 5794bf2 to 1e9f21d Compare December 12, 2024 14:49
@h-a-n-a h-a-n-a merged commit b44c5c0 into main Dec 12, 2024
7 checks passed
@h-a-n-a h-a-n-a deleted the renovate/major-rust-crates branch December 12, 2024 14:54
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.

1 participant