Workiva/go-datastructures
Some data may be outdated — see provenance labels.
A collection of useful, performant, and threadsafe Go datastructures. observed · 2026-10-03
Health v2 · maintenance only
87/100
- Activity 97
- Release rhythm 66
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-10-21. Adoption (stars, forks) is never an input.
- gap_med: 196.5
- age_days: 4374
- days_rel: 19
- days_push: 19
- n_releases_24m: 3
Adoption not part of the score
7964 stars · 845 forks observed · 2026-10-03
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
A collection of useful, performant, and threadsafe data structures for Go, including augmented interval trees, bitarrays, futures, non-blocking queues, an MPMC ring buffer, and a Fibonacci heap. It emphasizes lock-free/CAS-based concurrency and benchmarks against standard alternatives like channels.
Use cases
- threadsafe queue for goroutines in go
- fast priority queue implementation in Go
- interval tree for n-dimensional range collision queries
- broadcast an event to multiple listeners instead of a single channel consumer
- lock-free MPMC ring buffer to synchronize and shut down goroutines
- bitarray membership and intersection testing with uint64 identifiers
- heap with cheap decrease-key for Dijkstra or Prim algorithms
When to choose
- You need concurrent, non-blocking queues that can outperform Go channels and never panic on send
- You need interval or range intersection queries in one or more dimensions
- You need to notify many goroutines of the same event, which channels handle poorly
- You need a Fibonacci or priority heap for graph algorithms or ordered scheduling
When to avoid
- You only need basic slices and maps already provided by the Go standard library
- You need bounded queues with backpressure, since these queues never block on send and grow unbounded
- You want generics-based, idiomatic modern Go APIs, as this library predates generics and relies on interfaces and uint64 identifiers
Facets
library · maturity active
concurrency developer-tools go data-structures priority-queue fibonacci-heap interval-tree bitarray ring-buffer futures threadsafe lock-free algorithms
1 source
- readme: https://github.com/Workiva/go-datastructures · fetched 2026-10-03 · e9d76db429e7
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| Workiva/go-datastructures | main | 87 |
For agents
markdown · JSON · MCP: product_card(name="Workiva/go-datastructures")
Data as of 2026-10-19T08:05:51.212177+00:00 · Report a problem