All Projects → serde-rs → Json Benchmark

serde-rs / Json Benchmark

Licence: other
nativejson-benchmark in Rust

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to Json Benchmark

Json
Strongly typed JSON library for Rust
Stars: ✭ 2,544 (+2635.48%)
Mutual labels:  json, serde
Typescript Runtime Type Benchmarks
Benchmark Comparison of Packages with Runtime Validation and TypeScript Support
Stars: ✭ 119 (+27.96%)
Mutual labels:  json, benchmark
Hyperjson
A hyper-fast Python module for reading/writing JSON data using Rust's serde-json.
Stars: ✭ 374 (+302.15%)
Mutual labels:  json, serde
Weld
Full fake REST API generator written with Rust
Stars: ✭ 146 (+56.99%)
Mutual labels:  json, serde
Accord
Data validation library for Rust
Stars: ✭ 72 (-22.58%)
Mutual labels:  json, serde
Tanka
Flexible, reusable and concise configuration for Kubernetes
Stars: ✭ 1,299 (+1296.77%)
Mutual labels:  json
Math Parser Benchmark Project
C++ Mathematical Expression Parser Benchmark
Stars: ✭ 91 (-2.15%)
Mutual labels:  benchmark
Simdjson php
simdjson_php bindings for the simdjson project. https://github.com/lemire/simdjson
Stars: ✭ 90 (-3.23%)
Mutual labels:  json
Bitsofbytes
Code and projects from my blog posts.
Stars: ✭ 89 (-4.3%)
Mutual labels:  json
Metayaml
A powerful schema validator!
Stars: ✭ 92 (-1.08%)
Mutual labels:  json
Api Client Generator
Angular REST API client generator from Swagger YAML or JSON file with camel case settigs
Stars: ✭ 92 (-1.08%)
Mutual labels:  json
Filecontextcore
FileContextCore is a "Database"-Provider for Entity Framework Core and adds the ability to store information in files instead of being limited to databases.
Stars: ✭ 91 (-2.15%)
Mutual labels:  json
Catj
Displays JSON files in a flat format.
Stars: ✭ 1,301 (+1298.92%)
Mutual labels:  json
Jutil
Command-line utilities for manipulating JSON
Stars: ✭ 91 (-2.15%)
Mutual labels:  json
Kson
Gson TypeAdapter & Factory generator for Kotlin data classes
Stars: ✭ 90 (-3.23%)
Mutual labels:  json
Python Training For Network Engineers
Python hands-on training for network engineers. How to automate Junos with Python
Stars: ✭ 92 (-1.08%)
Mutual labels:  json
Summitdb
In-memory NoSQL database with ACID transactions, Raft consensus, and Redis API
Stars: ✭ 1,295 (+1292.47%)
Mutual labels:  json
Core50
CORe50: a new Dataset and Benchmark for Continual Learning
Stars: ✭ 91 (-2.15%)
Mutual labels:  benchmark
Spots
🎍 Spots is a cross-platform view controller framework for building component-based UIs
Stars: ✭ 1,310 (+1308.6%)
Mutual labels:  json
Go
A high-performance 100% compatible drop-in replacement of "encoding/json"
Stars: ✭ 10,248 (+10919.35%)
Mutual labels:  json

Rust JSON Benchmark

This is a partial port of nativejson-benchmark to Rust. The libraries tested are:

$ cargo run --release

                                DOM                STRUCT
======= serde_json ======= parse|stringify ===== parse|stringify ====
data/canada.json         280 MB/s   370 MB/s   510 MB/s   320 MB/s
data/citm_catalog.json   400 MB/s   420 MB/s   840 MB/s   660 MB/s
data/twitter.json        270 MB/s   730 MB/s   530 MB/s   850 MB/s

======= json-rust ======== parse|stringify ===== parse|stringify ====
data/canada.json         270 MB/s   830 MB/s
data/citm_catalog.json   550 MB/s   700 MB/s
data/twitter.json        410 MB/s   900 MB/s

==== rustc_serialize ===== parse|stringify ===== parse|stringify ====
data/canada.json         150 MB/s    65 MB/s   110 MB/s    45 MB/s
data/citm_catalog.json   180 MB/s   180 MB/s   130 MB/s   210 MB/s
data/twitter.json         99 MB/s   320 MB/s    75 MB/s   350 MB/s

======= simd-json ======== parse|stringify ===== parse|stringify ====
data/canada.json         350 MB/s   420 MB/s   580 MB/s
data/citm_catalog.json   820 MB/s   590 MB/s  1290 MB/s
data/twitter.json        660 MB/s   740 MB/s   900 MB/s
  • Intel(R) Core(TM) i7-6600U CPU @ 2.60GHz (laptop CPU from 2015)
  • rustc 1.46.0-nightly (118b50524 2020-06-06)

To update the numbers above, I run ./json-benchmark twice on an otherwise idle computer and take the greater of the two results for each number.

For comparison, here are results from RapidJSON on the same hardware with the nativejson-benchmark modified to run 256 times instead of 10. Code is in the cpp directory of this repo.

==== rapidjson-clang ===================== parse|stringify ====
data/canada.json                         380 MB/s   200 MB/s
data/citm_catalog.json                   680 MB/s  1090 MB/s
data/twitter.json                        320 MB/s   600 MB/s

===== rapidjson-gcc ====================== parse|stringify ====
data/canada.json                         390 MB/s   250 MB/s
data/citm_catalog.json                   890 MB/s  1650 MB/s
data/twitter.json                        440 MB/s   870 MB/s
  • clang version 11.0.0-++20200128080810+b96e6859c99-1exp120200128191406.2758
  • gcc version 10.1.0 (Ubuntu 10.1.0-2ubuntu1~18.04)

License

Licensed under either of Apache License, Version 2.0 or MIT license at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in this project by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].