sonic
simdjson
Our great sponsors
- Onboard AI - Learn any GitHub repo in 59 seconds
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- SaaSHub - Software Alternatives and Reviews
sonic | simdjson | |
---|---|---|
21 | 57 | |
5,769 | 17,644 | |
3.3% | 1.0% | |
6.3 | 0.0 | |
12 days ago | 4 days ago | |
Go | C++ | |
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.
sonic
- Building a Streaming Platform in Go for Postgres
-
Building a high performance JSON parser
Also worth looking at https://github.com/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, a concurrent hashmap faster and more memory-efficient than golang's sync.Map
Also see sonic for some nice performance tricks github.com/bytedance/sonic
- Streaming large block of JSON into struct
-
Fastest JSON parser for large (~888kB) API response?
I believe https://github.com/bytedance/sonic currently has the fastest unmarshalling performance.
-
Sonic: A fast JSON serializing and deserializing library
It is mentioned here: https://github.com/bytedance/sonic/blob/a577eafc253adb943924..., but it isn't included in the benchmarks graphs. Seems this repo is specifically focused on Golang and isn't necessarily motivated by being the fastest JSON [de]serializer on the planet.
simdjson
-
Building a high performance JSON parser
Everything you said is totally reasonable. I'm a big fan of napkin math and theoretical upper bounds on performance.
simdjson (https://github.com/simdjson/simdjson) claims to fully parse JSON on the order of 3 GB/sec. Which is faster than OP's Go whitespace parsing! These tests are running on different hardware so it's not apples-to-apples.
The phrase "cannot go faster than this" is just begging for a "well ackshully". Which I hate to do. But the fact that there is an existence proof of Problem A running faster in C++ SIMD than OP's Probably B scalar Go is quite interesting and worth calling out imho. But I admit it doesn't change the rest of the post.
The walkthrough is very nice, how to do this if you're going to do it.
If you're going for pure performance in a production environment you might take a look at Daniel Lemire's work: https://github.com/simdjson/simdjson. Or the MinIO port of it to Go: https://github.com/minio/simdjson-go.
-
New package : lspce - a simple LSP Client for Emacs
I have same question as /u/JDRiverRun : how do you deal with JSON, do you parse json on Rust side or on Emacs side. I see that you are requiring json.el in your lspce.el, but I haven't looked through entire file carefully. If you parse on Rust side, do you use simdjson (there are at least two Rust bindings to it)? If yes, what are your impressions, experiences compared to more "standard" json library?
-
Any fresh jvm21 benchmarks ?
I expect a lot of transcoders will be rewritten when the Vector instructions land. You can see speedups when used in other languages, such as simdjson. Please try to be more thoughtful and not disregard other people's hard work so easily.
-
Why is there no reliable way to receive signal when OOM killer decides to kill you
You will never make 150GB/s though. Not even close. For example, simdjson achieves 3GB/s and is by far the fastest JSON parser out there.
-
I made JSON.parse() 2x faster
Would you consider SIMD operations parallel? https://github.com/simdjson/simdjson
-
Show HN: Up to 100x Faster FastAPI with simdjson and io_uring on Linux 5.19
I'm talking about with simdjson. Lemire suggested reading line-by-line is not a good idea [0]. So I'm asking about the ideal approach using simdjson, not JSON parsers in general.
[0] https://github.com/simdjson/simdjson/issues/188#issuecomment...
-
Attempting to parse JSON at light-speed with Raku and simdjson
Hey folks, if you've been in IRC this last week you've probably heard me mumbling to myself, or crying out in agony trying to bind Raku to simdjson. However, the pain was not in vain!
What are some alternatives?
RapidJSON - A fast JSON parser/generator for C++ with both SAX/DOM style API
jsoniter - jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go
json - JSON for Modern C++
jsoniter - Using encoding/json to load parts of a large json document
fastjson - Fast JSON parser and validator for Go. No custom structs, no code generation, no reflection
json-schema-validator - JSON schema validator for JSON for Modern C++
JsonCpp - A C++ library for interacting with JSON.
encoding - Go package containing implementations of efficient encoding, decoding, and validation APIs.
json - A C++11 library for parsing and serializing JSON to and from a DOM container in memory.
json_struct - json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
json-c - https://github.com/json-c/json-c is the official code repository for json-c. See the wiki for release tarballs for download. API docs at http://json-c.github.io/json-c/
json11