Top 2.9% dependent repos on proxy.golang.org
proxy.golang.org : github.com/gobwas/avl
Package avl implements immutable AVL (Adelson-Velsky and Landis) tree. Immutability means that on any tree modifying operation (insert, update or delete) it does clone affected path up to the tree root. Since AVL is balanced binary tree, immutability property leads to O(log n) additional allocations. Immutability lets applications to update the tree without holding a lock for the whole time span of operation. That is, it's possible to read the current tree "state", then update it locally and change the tree "state" in atomic way later. This technique lets other goroutines to read the tree contents without blocking while update operation is in progress: Note that usually there is a need to use second mutex to serialize tree updates across multiple writer goroutines.
Registry
-
Source
- Documentation
- JSON
purl: pkg:golang/github.com/gobwas/avl
License: MIT
Latest release: almost 4 years ago
First release: almost 4 years ago
Namespace: github.com/gobwas
Dependent packages: 1
Dependent repositories: 3
Stars: 3 on GitHub
Forks: 0 on GitHub
See more repository details: repos.ecosyste.ms
Last synced: 23 days ago