[package]
edition = "2021"
rust-version = "1.71"
name = "layout"
version = "0.1.0"
build = "build.rs"
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Optimized memory layout using struct of array, Data-oriented design in Rust, DOD SOA"
homepage = "https://github.com/fereidani/layout"
documentation = "https://docs.rs/layout/"
readme = "README.md"
keywords = [
"soa",
"dod",
"data-oriented",
"struct-of-array",
"performance",
]
categories = [
"data-structures",
"no-std",
]
license = "MIT/Apache-2.0"
repository = "https://github.com/fereidani/layout"
[features]
default = ["std"]
serde = ["dep:serde"]
std = []
[lib]
name = "layout"
path = "src/lib.rs"
[[test]]
name = "apply_index_validation"
path = "tests/apply_index_validation.rs"
[[test]]
name = "binary_search"
path = "tests/binary_search.rs"
[[test]]
name = "bitpack"
path = "tests/bitpack.rs"
[[test]]
name = "capacity_mixed"
path = "tests/capacity_mixed.rs"
[[test]]
name = "chunks"
path = "tests/chunks.rs"
[[test]]
name = "column"
path = "tests/column.rs"
[[test]]
name = "compact_bool"
path = "tests/compact_bool.rs"
[[test]]
name = "compact_enum"
path = "tests/compact_enum.rs"
[[test]]
name = "compact_ergonomics"
path = "tests/compact_ergonomics.rs"
[[test]]
name = "compact_from_raw_parts"
path = "tests/compact_from_raw_parts.rs"
[[test]]
name = "compact_index_bounds"
path = "tests/compact_index_bounds.rs"
[[test]]
name = "compact_iter"
path = "tests/compact_iter.rs"
[[test]]
name = "compact_layout"
path = "tests/compact_layout.rs"
[[test]]
name = "compact_ptr_roundtrip"
path = "tests/compact_ptr_roundtrip.rs"
[[test]]
name = "compact_sort"
path = "tests/compact_sort.rs"
[[test]]
name = "compact_stress"
path = "tests/compact_stress.rs"
[[test]]
name = "compact_traits"
path = "tests/compact_traits.rs"
[[test]]
name = "dedup"
path = "tests/dedup.rs"
[[test]]
name = "drain"
path = "tests/drain.rs"
[[test]]
name = "drain_leak"
path = "tests/drain_leak.rs"
[[test]]
name = "drop_order"
path = "tests/drop_order.rs"
[[test]]
name = "extreme"
path = "tests/extreme.rs"
[[test]]
name = "generic"
path = "tests/generic.rs"
[[test]]
name = "index"
path = "tests/index.rs"
[[test]]
name = "iter"
path = "tests/iter.rs"
[[test]]
name = "lane_copy"
path = "tests/lane_copy.rs"
[[test]]
name = "nested_soa"
path = "tests/nested_soa.rs"
[[test]]
name = "perf_regression"
path = "tests/perf_regression.rs"
[[test]]
name = "ptr"
path = "tests/ptr.rs"
[[test]]
name = "replace"
path = "tests/replace.rs"
[[test]]
name = "serde"
path = "tests/serde.rs"
[[test]]
name = "slice"
path = "tests/slice.rs"
[[test]]
name = "slice_mut"
path = "tests/slice_mut.rs"
[[test]]
name = "slice_range_bounds"
path = "tests/slice_range_bounds.rs"
[[test]]
name = "soa_attr"
path = "tests/soa_attr.rs"
[[test]]
name = "soa_impl"
path = "tests/soa_impl.rs"
[[test]]
name = "soa_impl_compact"
path = "tests/soa_impl_compact.rs"
[[test]]
name = "vec"
path = "tests/vec.rs"
[[test]]
name = "zip"
path = "tests/zip.rs"
[[bench]]
name = "game"
path = "benches/game.rs"
harness = false
[[bench]]
name = "perf"
path = "benches/perf.rs"
harness = false
[[bench]]
name = "soa"
path = "benches/soa.rs"
harness = false
[dependencies.branches]
version = "0.4.5"
default-features = false
[dependencies.layout_internal]
version = "0.1.0"
[dependencies.serde]
version = "1"
features = [
"alloc",
"derive",
]
optional = true
default-features = false
[dev-dependencies.bencher]
version = "0.1"
[dev-dependencies.itertools]
version = "0.15.0"
[dev-dependencies.serde_json]
version = "1"
[build-dependencies.rustc_version]
version = "0.4"
[profile.bench]
opt-level = 3
lto = "thin"
codegen-units = 1
debug = 0
incremental = false