swiss
quadtree
swiss | quadtree | |
---|---|---|
3 | 1 | |
675 | 32 | |
3.7% | - | |
3.7 | 2.8 | |
about 1 month ago | 9 months ago | |
Go | Go | |
Apache License 2.0 | 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.
swiss
-
One Billion Row Challenge in Golang - From 95s to 1.96s
Time to deal with the large elephant in the room, the runtime.mapaccess2_fast64 map lookup. Despite spending some hours of research, I couldn't found any viable way to optimize the builtin map. However, there is a community alternative called Swiss Map, which sells itself as faster and more memory efficient than the builtin one. Replacing it is almost a drop-in, with just some syntax changes:
- Golang Port of Abseil's SwissTable
- SwissMap: A Golang Port of SwissTable
quadtree
-
generic quadtree for golang
https://github.com/s0rg/quadtree - generic, zero-alloc, 100%-test covered quadtree
What are some alternatives?
gen - gen is a generic general use Go functions library with the intention of replacing duplicated code where the same functionality is needed across multiple types, and provides a common interface for the functionality. The library is designed to be used in a wide variety of projects and is designed to be easy to use.
bitmap - Simple dense bitmap index in Go with binary operators
golang-set - A simple, battle-tested and generic set type for the Go language. Trusted by Docker, 1Password, Ethereum and Hashicorp.
hilbert - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves.
algorithms - CLRS study. Codes are written with golang.
willf/bloom - Go package implementing Bloom filters, used by Milvus and Beego.
std - An enhanced version of the standard library based the new Generics feature.
conjungo - A small flexible merge library in go
roaring - Roaring bitmaps in Go (golang), used by InfluxDB, Bleve, DataDog
hyperloglog - HyperLogLog with lots of sugar (Sparse, LogLog-Beta bias correction and TailCut space reduction) brought to you by Axiom
go-geoindex - Go native library for fast point tracking and K-Nearest queries
iter - Go implementation of C++ STL iterators and algorithms.