Cargo Features

simd-json = { version = "0.13.8", default-features = false, features = ["arraybackend", "value-no-dup-keys", "128bit", "known-key", "swar-number-parsing", "approx-number-parsing", "serde_impl", "alloc", "no-inline", "bench-serde", "hints", "perf", "docsrs", "runtime-detection", "bench-all", "bench-apache_builds", "bench-event_stacktrace_10kb", "bench-canada", "bench-log", "bench-twitter", "big-int-as-float", "beef", "jemallocator"] }
default = runtime-detection, serde_impl, swar-number-parsing

These default features are set whenever simd-json is added without default-features = false somewhere in the dependency tree.


Enables arraybackend of halfbrown


Forces the owned::Value and borrowed::Value to deduplicate duplicated keys by letting consecutive keys overwrite previous ones. This comes at a performance cost. By default duplicate keys will not be overwritten and feeding json objects with duplicated keys to either of the Values will result in undefined behavior.


Support for 128 bit integers

Enables 128bit of value-trait

known-key = ahash, once_cell

used for enabeling known keys in favour of a slower hasher that is not protected against hash collision attacks

Affects value::ObjectHasher

swar-number-parsing default

use 8 number at once parsing strategy


Uses a approximate float parsing algorithm that is faster but does not guarantee round trips for the edges

serde_impl default = serde, serde_json

serde compatibility

Enables serde of halfbrown

Affects simd-json::serde

alloc = alloc_counter

for testing allocations


don't inline code - used for debugging

bench-serde = serde_json

also bench serde in the benchmarks


use branch hints - requires nightly :(
requires nightly

perf = colored, getopts, perfcnt, serde_json

for perf testing, used by the example


for documentation

runtime-detection default

use runtime detection of the CPU features where possible instead of enforcing an instruction set

Enables runtime-detection of value-trait

bench-all = bench-apache_builds, bench-canada, bench-citm_catalog, bench-event_stacktrace_10kb, bench-github_events, bench-log, bench-twitter

bench fetures

bench-apache_builds bench-all?
bench-event_stacktrace_10kb bench-all?
bench-github_events bench-canada bench-all?
bench-citm_catalog bench-log bench-all?
bench-twitter bench-all?

Features from optional dependencies

In crates that don't use the dep: syntax, optional dependencies automatically become Cargo features.

beef implicit feature

Enables beef


More compact Cow

once_cell known-key?

Enables once_cell

ahash known key

ahash known-key?
serde serde_impl

Enables serde

serde compatibilty

serde_json bench-serde? perf? serde_impl
alloc_counter alloc?

Enables alloc_counter

perf testing

colored perf?
getopts perf?
jemallocator implicit feature

Enables jemallocator


A Rust allocator backed by jemalloc

perfcnt perf?