trie
bitmap
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.
trie
We haven't tracked posts mentioning trie 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?
treap - golang persistent immutable treap sorted sets
fsm - Finite State Machine for Go
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
go-adaptive-radix-tree - Adaptive Radix Trees implemented in Go
skiplist - skiplist for golang
bitset - Go package implementing bitsets
bloom - Bloom filters implemented in Go.
null - Nullable Go types that can be marshalled/unmarshalled to/from JSON.
go-datastructures - A collection of useful, performant, and threadsafe Go datastructures.
hyperloglog - HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom
mafsa
roaring - Roaring bitmaps in Go (golang), used by InfluxDB, Bleve, DataDog