alcionai / corso

Free, Secure, and Open-Source Backup for Microsoft 365
https://corsobackup.io
Apache License 2.0
182 stars 28 forks source link

⬆️ Bump github.com/puzpuzpuz/xsync/v3 from 3.0.2 to 3.4.0 in /src #5373

Open dependabot[bot] opened 2 months ago

dependabot[bot] commented 2 months ago

Bumps github.com/puzpuzpuz/xsync/v3 from 3.0.2 to 3.4.0.

Release notes

Sourced from github.com/puzpuzpuz/xsync/v3's releases.

v3.4.0

  • Add optimistic locking methods to RBMutex #138 and #140
  • Fix Map/MapOf capacity calculation for WithPresize #139

RBMutex now has methods for optimistic locking:

mu := xsync.NewRBMutex()
if locked, t := mu.TryRLock(); locked {
    // critical reader section...
    mu.RUnlock(t)
}
if mu.TryLock() {
    // critical writer section...
    mu.Unlock()
}

Thanks @​kkroo for the contribution.

v3.3.1

  • Add NewMapOfWithHasher function #137

Adds NewMapOfWithHasher function to support custom hash functions in MapOf:

m := NewMapOfWithHasher[int, int](https://github.com/puzpuzpuz/xsync/blob/HEAD/func(i int, _ uint64) uint64 {
    // Murmur3 finalizer. No DDOS protection as it does not support seed.
    h := uint64(i)
    h = (h ^ (h >> 33)) * 0xff51afd7ed558ccd
    h = (h ^ (h >> 33)) * 0xc4ceb9fe1a85ec53
    return h ^ (h >> 33)
})

Some custom hash functions may be faster than the built-in function if the lack of DDOS protection is fine.

Murmur3 finalizer:

BenchmarkMapOfInt_Murmur3Finalizer_WarmUp/reads=100%-8           525864650            2.240 ns/op     446360938 ops/s           0 B/op          0 allocs/op
BenchmarkMapOfInt_Murmur3Finalizer_WarmUp/reads=99%-8           383333918            3.127 ns/op     319827294 ops/s           0 B/op          0 allocs/op
BenchmarkMapOfInt_Murmur3Finalizer_WarmUp/reads=90%-8           267635385            4.535 ns/op     220506863 ops/s           0 B/op          0 allocs/op
BenchmarkMapOfInt_Murmur3Finalizer_WarmUp/reads=75%-8           181292007            6.448 ns/op     155092697 ops/s           2 B/op          0 allocs/op

Built-in hash function:

BenchmarkMapOfInt_WarmUp/reads=100%-8            431097415            2.858 ns/op     349837551 ops/s           0 B/op          0 allocs/op
BenchmarkMapOfInt_WarmUp/reads=99%-8            307244330            3.951 ns/op     253072903 ops/s           0 B/op          0 allocs/op
BenchmarkMapOfInt_WarmUp/reads=90%-8            226392990            5.306 ns/op     188477583 ops/s           0 B/op          0 allocs/op
BenchmarkMapOfInt_WarmUp/reads=75%-8            159236962            7.513 ns/op     133108546 ops/s           2 B/op          0 allocs/op

... (truncated)

Commits


Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

aviator-app[bot] commented 2 months ago

Current Aviator status

Aviator will automatically update this comment as the status of the PR changes. Comment /aviator refresh to force Aviator to re-examine your PR (or learn about other /aviator commands).

This pull request is currently open (not queued).

How to merge

To merge this PR, comment /aviator merge or add the mergequeue label.


See the real-time status of this PR on the Aviator webapp.
Use the Aviator Chrome Extension to see the status of your PR within GitHub.
sonarcloud[bot] commented 2 months ago

Quality Gate Passed Quality Gate passed

Issues
0 New issues
0 Accepted issues

Measures
0 Security Hotspots
0.0% Coverage on New Code
0.0% Duplication on New Code

See analysis details on SonarCloud