go-adaptive-radix-tree
bitmap
go-adaptive-radix-tree | bitmap | |
---|---|---|
- | 1 | |
372 | 308 | |
- | - | |
3.4 | 4.3 | |
15 days ago | about 1 year ago | |
Go | Assembly | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
go-adaptive-radix-tree
We haven't tracked posts mentioning go-adaptive-radix-tree yet.
Tracking mentions began in Dec 2020.
bitmap
-
Example of Entity Component System in Go
Good question, I think there's many different lessons. To your point about bitmasks, you can imagine that each component (i.e. column) has an array of data and a large bitmap that identifies whether a component is present or not. Had to build a SIMD implementation so you can do and, and not, or and xor operations on millions of components within reasonable amount of time. Interestingly enough, you still need a hashmap or b+tree in case you want to retrieve a component by it's ID instead of an index, but the rest of things can be modeled with bitmap indexes.
What are some alternatives?
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
fsm - Finite State Machine for Go
gota - Gota: DataFrames and data wrangling in Go (Golang)
bitset - Go package implementing bitsets
bloom - Bloom filters implemented in Go.
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
trie - Data structure and relevant algorithms for extremely fast prefix/fuzzy string searching.
levenshtein - Go implementation to calculate Levenshtein Distance.
hyperloglog - HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom
merkletree - A Merkle Tree implementation written in Go.
willf/bloom - Go package implementing Bloom filters, used by Milvus and Beego.