[package]
edition = "2024"
rust-version = "1.88"
name = "simd-json"
version = "0.17.1"
authors = [
"Heinz N. Gies <heinz@licenser.net>",
"Sunny Gleason",
]
build = false
exclude = [
"data/*",
"fuzz/*",
"fuzz.sh",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "High performance JSON parser based on a port of simdjson"
documentation = "https://docs.rs/simd-json"
readme = "README.md"
license = "Apache-2.0 OR MIT"
repository = "https://github.com/simd-lite/simd-json"
[features]
128bit = ["value-trait/128bit"]
alloc = ["alloc_counter"]
approx-number-parsing = []
arraybackend = ["halfbrown/arraybackend"]
bench-all = [
"bench-apache_builds",
"bench-event_stacktrace_10kb",
"bench-github_events",
"bench-canada",
"bench-citm_catalog",
"bench-log",
"bench-twitter",
]
bench-apache_builds = []
bench-canada = []
bench-citm_catalog = []
bench-event_stacktrace_10kb = []
bench-github_events = []
bench-log = []
bench-serde = ["serde_json"]
bench-twitter = []
big-int-as-float = []
default = [
"swar-number-parsing",
"serde_impl",
"runtime-detection",
]
docsrs = []
hints = []
known-key = ["ahash"]
no-inline = []
ordered-float = ["value-trait/ordered-float"]
perf = [
"perfcnt",
"getopts",
"colored",
"serde_json",
]
runtime-detection = ["value-trait/runtime-detection"]
serde_impl = [
"serde",
"serde_json",
"halfbrown/serde",
]
swar-number-parsing = []
value-no-dup-keys = []
[lib]
name = "simd_json"
path = "src/lib.rs"
bench = false
[[example]]
name = "perf"
path = "examples/perf.rs"
[[test]]
name = "alloc"
path = "tests/alloc.rs"
[[test]]
name = "jsonchecker"
path = "tests/jsonchecker.rs"
[[test]]
name = "ordered_float"
path = "tests/ordered_float.rs"
[[test]]
name = "serde_128_bit"
path = "tests/serde_128_bit.rs"
[[test]]
name = "serenity"
path = "tests/serenity.rs"
[[test]]
name = "weird_type"
path = "tests/weird_type.rs"
[[bench]]
name = "parse"
path = "benches/parse.rs"
harness = false
[[bench]]
name = "to_tape"
path = "benches/to_tape.rs"
harness = false
[dependencies.ahash]
version = "0.8"
optional = true
[dependencies.alloc_counter]
version = "0.0.4"
optional = true
[dependencies.beef]
version = "0.5"
optional = true
[dependencies.colored]
version = "3.0"
optional = true
[dependencies.getopts]
version = "0.2"
optional = true
[dependencies.halfbrown]
version = "0.4"
[dependencies.jemallocator]
version = "0.5"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
optional = true
[dependencies.simdutf8]
version = "0.1.4"
features = [
"public_imp",
"aarch64_neon",
]
[dependencies.value-trait]
version = "0.12"
[dev-dependencies.core_affinity]
version = "0.8"
[dev-dependencies.float-cmp]
version = "0.10"
[dev-dependencies.getopts]
version = "0.2"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.criterion]
version = "0.8"
[target.'cfg(not(target_family = "wasm"))'.dev-dependencies.proptest]
version = "1.0"
[target.'cfg(target_arch = "x86_64")'.dependencies.perfcnt]
version = "0.8"
optional = true
[target.'cfg(target_arch = "x86_64")'.dependencies.ref-cast]
version = "1.0"
[lints.rust.unexpected_cfgs]
level = "allow"
priority = 0
check-cfg = [
"cfg(portable)",
"cfg(tarpaulin_include)",
]
[profile.bench]
opt-level = 3
lto = true
codegen-units = 1
[profile.release]
opt-level = 3
lto = true
codegen-units = 1
panic = "abort"