[package] name = "sonic-rs" version = "0.3.8" authors = ["Volo Team "] edition = "2021" description = "Sonic-rs is a fast Rust JSON library based on SIMD" repository = "https://github.com/cloudwego/sonic-rs" documentation = "https://docs.rs/sonic-rs" license = "Apache-2.0" readme = "README.md" keywords = ["json", "simd", "serde", "serialization"] categories = ["encoding", "parser-implementations"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] cfg-if = "1.0" arrayref = "0.3" serde = { version = "1.0", features = ["rc", "derive"] } itoa = "1.0" ryu = "1.0" faststr = "0.2" smallvec = "1.11" bumpalo = "3.13" bytes = "1.4" thiserror = "1.0" simdutf8 = "0.1" parking_lot = "0.12" page_size = "0.6" [dev-dependencies] jemallocator = "0.5" serde = { version = "1.0", features = ["derive"] } serde_json = { version = "1.0", features = ["float_roundtrip", "raw_value"] } simd-json = "0.13" core_affinity = "0.8" criterion = { version = "0.5", features = ["html_reports"] } gjson = "0.8" serde_derive = "1.0" faststr = "0.2" encoding_rs = "0.8" # This config will disable rustc-serialize crate to avoid security warnings in ci json-benchmark = { git = "https://github.com/serde-rs/json-benchmark", default-features = false, features = ["all-files", "lib-serde"]} paste = "1.0" serde_bytes = "0.11" bytes = {version = "1.4", features = ["serde"]} chrono = { version = "0.4", features = ["serde"] } [profile.release] opt-level = 3 debug = false rpath = false lto = true debug-assertions = false codegen-units = 1 panic = 'unwind' incremental = false overflow-checks = false [[bench]] name = "deserialize_struct" harness = false [[bench]] name = "deserialize_value" harness = false [[bench]] name = "serialize_struct" harness = false [[bench]] name = "serialize_value" harness = false [[bench]] name = "get_from" harness = false [features] default = [] # Use an arbitrary precision number type representation when parsing JSON into `sonic_rs::Value`. # This allows the JSON numbers will be serialized without loss of precision. arbitrary_precision = [] # Sort the keys when serializing `sonic_rs::Value`. sort_keys = []