hashmap
haxmap
hashmap | haxmap | |
---|---|---|
8 | 7 | |
1,721 | 869 | |
- | - | |
2.9 | 5.1 | |
9 months ago | 14 days 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.
hashmap
-
SwissMap: A smaller, faster Golang Hash Table
I generally just use this one: https://github.com/cornelk/hashmap
Mostly in that it also gives me lock free performance, which cleans up a lot of defers.
-
Go 1.20 Released
Glad to see this make it into the core.
I've been using this library for ages now...
https://github.com/cornelk/hashmap
Always entertains me to see developers write all the lock/unlock code when they could just use that.
- Ask HN: Was it worth it for Go to add generics
- Gojq: Pure Go Implementation of Jq
-
HaxMap, a concurrent hashmap faster and more memory-efficient than golang's sync.Map
Pre-allocating would not fix https://github.com/cornelk/hashmap/issues/47 as the bug is in the linked list. This is not grow related but an issue with concurrent Add/Delete on the list.
-
A Go implementation of the concurrency control algorithm in paper <Left-Right -A Concurrency Control Technique with Wait-Free Population Oblivious Reads>
Would be interesting to compare with https://github.com/cornelk/hashmap
-
how does lock-free (or lockless) hashmap works?
I ran across this library recently - https://github.com/cornelk/hashmap
haxmap
-
hash/maphash is slow
It depends on the architecture like amd64 it’s naturally fast but for amd and the rest is kinda of slow because Go uses AES hashing algorithm upcoming they’re planning to change the hashing alg either xxhash or swisstable I recommend you use 3rd party maphash like https://github.com/alphadose/haxmap or any
-
HaxMap v0.2.0 released, huge performance improvements and added support for 32-bit systems
This issue has been fixed with https://github.com/alphadose/haxmap/releases/tag/v0.3.0
- The fastest and most-memory efficient concurrent hashmap in Golang
-
HaxMap, a concurrent hashmap faster and more memory-efficient than golang's sync.Map
This behaviour is now fixed with https://github.com/alphadose/haxmap/commit/bc3b9a6adfc4600fd948124f5d9b74139dfe6d39
What are some alternatives?
go-left-right - A faster RWLock primitive in Go, 2-3 times faster than RWMutex. A Go implementation of concurrency control algorithm in paper <Left-Right - A Concurrency Control Technique with Wait-Free Population Oblivious Reads>
sonic - A blazingly fast JSON serializing & deserializing library
goqueue - Flexible Queue System for Go
jqr
xxHash - Pure Go implementation of xxHash (32 and 64 bits versions)
go - The Go programming language
go-blocking-dequeue - Thread safe, blocking, generic dequeue data structure for Go
avo - Generate x86 Assembly with Go
pq - Like jq, but with Python
go-evmap - A Go implementation of Rust's evmap which optimizes for high-read, low-write workloads and uses eventual consistency to ensure that readers and writers never block each other.