simdjson-go
json_benchmark
simdjson-go | json_benchmark | |
---|---|---|
6 | 2 | |
1,822 | 26 | |
0.3% | - | |
4.0 | 3.7 | |
about 1 year ago | about 1 year ago | |
Go | Python | |
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.
simdjson-go
-
Show HN: Up to 100x Faster FastAPI with simdjson and io_uring on Linux 5.19
Speaking of Go, there's a simdjson implementation for golang too:
> Performance wise, simdjson-go runs on average at about 40% to 60% of the speed of simdjson. Compared to Golang's standard package encoding/json, simdjson-go is about 10x faster.
I haven't tried it yet but I don't really need that speed.
https://github.com/minio/simdjson-go
-
How to Use AVX512 in Golang
I agree. For performance-sensitive situations, C/C++ or Rust is the only choice. However, many developers choose Go or other languages for engineering efficiency. A typical use case of SIMD in Go is simdjson-go. Besides, there are plenty of bindings and ports of simdjson. "Other languages" developers also need performance improvement from native instructions such as SIMD.
- Sonic: A fast JSON serializing and deserializing library
- Whats the fastest JSON unmarshaling package as of right now?
-
What is the best solution to unique data in golang
I suggest to use a streaming library to parse your file. Like jstream or simdjson-go
-
I wrote yet another json parser. It may be a contender for fastest.
You can also try comparing with https://github.com/minio/simdjson-go. It does use a different API, however, would be good to compare nevertheless.
json_benchmark
-
Show HN: Up to 100x Faster FastAPI with simdjson and io_uring on Linux 5.19
If you're primarily targeting Python as an application layer, you may also want to check out my msgspec library[1]. All the perf benefits of e.g. yyjson, but with schema validation like pydantic. It regularly benchmarks[2] as the fastest JSON library for Python. Much of the overhead of decoding JSON -> Python comes from the python layer, and msgspec employs every trick I know to minimize that overhead.
[1]: https://github.com/jcrist/msgspec
[2]: https://github.com/TkTech/json_benchmark
-
Sunday Daily Thread: What's everyone working on this week?
- Adding nvme drive support to SMARTie, https://github.com/tktech/smartie, which is a pure-python cross-platform library for getting disk information like serial number, SMART attributes (like disk temperature) - json_benchmark, https://github.com/tktech/json_benchmark, which is a new benchmark and correctness test for the more modern Python JSON libraries - py_yyjson, https://github.com/tktech/py_yyjson, which is still a WIP and provides Python bindings to the yyjson library, which offers comparable speed to simdjson but more flexibility when parsing (comments, arbitrary sized numbers, Inf/Nan, etc) - And some fixes to https://github.com/TkTech/humanmark, which is a markdown library used to edit the README.md in json_benchmark above.
What are some alternatives?
easyjson - Fast JSON serializer for golang.
data-analysis
jstream - Streaming JSON parser for Go
japronto - Screaming-fast Python 3.5+ HTTP toolkit integrated with pipelining HTTP server based on uvloop and picohttpparser.
sonic - A blazingly fast JSON serializing & deserializing library
jsplit - A Go program to split large JSON files into many jsonl files
jsonparser - One of the fastest alternative JSON parser for Go that does not require schema
search-dw - search-dw is a Python utility to automate "search and download" via the command line. It might be useful if you need to download the results of a Google search for a certain type of topic at the same time
jsonlite - A simple, self-contained, serverless, zero-configuration, json document store.
is2 - embedded RESTy http(s) server library from Edgio
rjson - A fast json parser for go
json-buffet