sonic
haxmap
sonic | haxmap | |
---|---|---|
23 | 7 | |
6,336 | 834 | |
2.1% | - | |
8.0 | 5.1 | |
4 days ago | 2 days ago | |
Assembly | 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.
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.)
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?
jsoniter - Using encoding/json to load parts of a large json document
hashmap - A Golang lock-free thread-safe HashMap optimized for fastest read access.
fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
goqueue - Flexible Queue System for Go
encoding - Go package containing implementations of efficient encoding, decoding, and validation APIs.
xxHash - Pure Go implementation of xxHash (32 and 64 bits versions)
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
go-blocking-dequeue - Thread safe, blocking, generic dequeue data structure for Go
simdjson-go - Golang port of simdjson: parsing gigabytes of JSON per second
avo - Generate x86 Assembly with Go
json-iterator - Low level iterator on the records inside large JSON file.
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.