hashmap
sonic
Our great sponsors
hashmap | sonic | |
---|---|---|
8 | 23 | |
1,713 | 6,277 | |
- | 3.1% | |
2.9 | 8.1 | |
9 months ago | 6 days ago | |
Go | Assembly | |
Apache License 2.0 | Apache License 2.0 |
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
sonic
- How to Visualize and Analyze Data in Open Source Communities
-
Handling high-traffic HTTP requests with JSON payloads
Since most of the time would be spent decoding json, you could try to cut this time using https://github.com/bytedance/sonic or https://github.com/json-iterator/go, both are drop-in replacements for the stdlib, sonic is faster.
- Building a Streaming Platform in Go for Postgres
-
Building a high performance JSON parser
Also worth looking at https://github.com/bytedance/sonic
- Sonic: A fast JSON serializing and deserializing library in Go
- sonic/INTRODUCTION.md at main · bytedance/sonic
-
High-performance JSON parsing in Go
The article inside does not mention this.
-
Toward the Fastest, Compatible JSON Decoder – Sonnet
Good morning.I hope this is not the wrong place to post… so let me introduce my first public Golang package. This is a JSON decoder called Sonnet ( https://github.com/sugawarayuuta/sonnet ) that has given faster results (at least in my environment) than Sonic - https://github.com/bytedance/sonic (which is said that it's the fastest) without the help of assembly!
JSON is a very well-known file format. It is used by everyone who does programming. However, it is also not uncommon to find problems with encoding/json and other third-party libraries. for more… (see https://github.com/sugawarayuuta/sonnet#problems-we-had )
I decided to create a new, standard library-compatible decoder that would be both easy to use and fast.
Thanks for reading, feel free to use, help, or ask questions, I look forward to hearing from you. All benchmarks and other information can be found in the link at the top.
-
Toward the Fastest, Compatible JSON Decoder - Sonnet
Good morning. Let me introduce my first public Go package. This is a JSON decoder called Sonnet ( https://github.com/sugawarayuuta/sonnet ) that has given faster results (at least in my environment) than Sonic (which is said that it's the fastest) without the help of assembly!
-
Looking back on framework benchmark (updates = db writes) what can make Go improved back to be top 10?
I'd say the https://github.com/bytedance/sonic has the fastest encoder due to C and assembly optimization. (Use at your own risk.)
What are some alternatives?
haxmap - Fastest and most memory efficient golang concurrent hashmap
jsoniter - Using encoding/json to load parts of a large json document
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>
fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
jqr
encoding - Go package containing implementations of efficient encoding, decoding, and validation APIs.
go - The Go programming language
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
xxHash - Pure Go implementation of xxHash (32 and 64 bits versions)
simdjson-go - Golang port of simdjson: parsing gigabytes of JSON per second
pq - Like jq, but with Python
json-iterator - Low level iterator on the records inside large JSON file.