Skip to content

fix(deps): update module github.com/puzpuzpuz/xsync/v4 to v4.4.0 (master)#6206

Merged
zhangzujian merged 1 commit intomasterfrom
renovate/master-github.com-puzpuzpuz-xsync-v4-4.x
Jan 25, 2026
Merged

fix(deps): update module github.com/puzpuzpuz/xsync/v4 to v4.4.0 (master)#6206
zhangzujian merged 1 commit intomasterfrom
renovate/master-github.com-puzpuzpuz-xsync-v4-4.x

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jan 24, 2026

This PR contains the following updates:

Package Change Age Confidence
github.com/puzpuzpuz/xsync/v4 v4.3.0v4.4.0 age confidence

Release Notes

puzpuzpuz/xsync (github.com/puzpuzpuz/xsync/v4)

v4.4.0

Compare Source

  • Micro-optimize Map for integer keys #​185
  • Add Map.RangeRelaxed method for faster map iteration #​187
  • Add Map.DeleteMatching method for batch entry deletion #​186

Read-heavy operations on Map with integer keys are now 24-29% faster due to a more efficient hash function, as well as a number of micro-optimizations.

RangeRelaxed is a much faster (~11x), lock-free alternative to Range. The downside is that the same key may be visited by RangeRelaxed more than once if it is concurrently deleted and re-inserted during the iteration. RangeRelaxed should be preferred over Range in all cases when weaker consistency is acceptable.

DeleteMatching deletes all entries for which the delete return value of the input function is true. If the cancel return value is true, the iteration stops immediately. The function returns the number of deleted entries. The call locks a hash table bucket for the duration of evaluating the function for all entries in the bucket and performing deletions. It performs up to 20% faster than Range + Delete, yet if the percentage of the entries to-be-deleted is low, RangeRelaxed + Delete combination should be more efficient.

m := xsync.NewMap[string, int]()
m.Store("alice", 10)
m.Store("bob", 20)
m.Store("carol", 30)
m.Store("dave", 40)

// Delete entries with value greater than 25.
deleted := m.DeleteMatching(func(key string, value int) (delete, cancel bool) {
	return value > 25, false
})

Configuration

📅 Schedule: Branch creation - Between 03:00 PM and 11:59 PM ( * 15-23 * * * ) (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • 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 added the dependencies Pull requests that update a dependency file label Jan 24, 2026
@coveralls
Copy link
Copy Markdown

Pull Request Test Coverage Report for Build 21322456382

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 22.879%

Totals Coverage Status
Change from base Build 21287816857: 0.0%
Covered Lines: 12305
Relevant Lines: 53782

💛 - Coveralls

@zhangzujian zhangzujian merged commit 658725f into master Jan 25, 2026
76 of 77 checks passed
@zhangzujian zhangzujian deleted the renovate/master-github.com-puzpuzpuz-xsync-v4-4.x branch January 25, 2026 00:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants