sonic
fastjson
Our great sponsors
- InfluxDB - Collect and Analyze Billions of Data Points in Real Time
- Onboard AI - Learn any GitHub repo in 59 seconds
- SaaSHub - Software Alternatives and Reviews
sonic | fastjson | |
---|---|---|
21 | 18 | |
5,769 | 2,038 | |
3.3% | - | |
6.3 | 0.0 | |
12 days ago | 5 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.
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.
fastjson
-
What's the best way to unmarshall this nested JSON?
I’ve used fastjson when unmarshalling to Structs is inconvenient. https://github.com/valyala/fastjson
-
Object-oriented JSON in Go
Interesting approach, even though reflection support is supposed to be landing soon, this would be really really useful when using TinyGo. (Fro example, writing web backend serverless functions with Fermyon’s Spin framework for WASM that needs to return JSON). Do you have any benchmarks on how it performs vs stdlib’s encoding/json and/or something like fastjson?
- Best approach for a monolithic web app?
-
High-performance JSON parsing in Go
FastJason (https://github.com/valyala/fastjson) does not use code generation or structs and is great for parsing very dynamic schemas.
It relies heavily on bytes.IndexOf for which Go provides SIMD optimizations transparently. However, it has some correctness issues when parsing malformed json that might need to be addressed. Generally it is recommended to be used with trusted json documents for internal services and may require further testing before being used to parse arbitrary json documents.
-
3 Ways I Keep My Rest APIs endpoints down to 4-6 lines and eliminate boilerplate. What are yours?
Try fastjson library. It allows you to grab deeply nested json objects without marshalling the entire json.
- Any way to convert unknown/dynamic json to generic object structure
-
Golang, GraphQL y Postgress
Como herramientas te recomiendo: FastJson https://github.com/valyala/fastjson : Si necesitas leer jsons Testify https://github.com/stretchr/testify : Para mockear y testear
-
Ad hoc JSON parsing
In Go if I need to extract just a few fields from a large JSON document it's hard to beat https://github.com/valyala/fastjson
-
TinyGo Reflection?
Another option is to use what I like to call "Lazy" decoders, like https://github.com/valyala/fastjson which will work with TinyGo, but doesn't have the same type of API as the standard lib (or alternatives) in terms of Marshaling and Unmarshalling. Instead you "Parse" a JSON object, and use Getters to access the types you want.
What are some alternatives?
easyjson - Fast JSON serializer for golang.
jsoniter - Using encoding/json to load parts of a large json document
jsonparser - One of the fastest alternative JSON parser for Go that does not require schema
encoding - Go package containing implementations of efficient encoding, decoding, and validation APIs.
simdjson - Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, WatermelonDB, Apache Doris, Milvus, StarRocks
mapslice-json - Go MapSlice for ordered marshal/ unmarshal of maps in JSON
jsonic - All you need with JSON
go-parameters - :blue_book: Easily parse incoming parameters and values from an HTTP request
ojg - Optimized JSON for Go
omg.jsonparser - The simple JSON parser with validation by condition
epoch - Contains primitives for marshaling/unmarshaling Unix timestamp/epoch to/from built-in time.Time type in JSON
jzon - A golang json library inspired by jsoniter