Cargo Features
[dependencies]
strobe = { version = "0.2.0", default-features = false, features = ["std", "align_selected", "align_4", "align_32", "align_64", "align_512", "align_1024"] }
- default = align_64, std
-
These default features are set whenever
strobe
is added without
somewhere in the dependency tree.default-features = false - std default
- align_selected align_1? align_1024? align_128? align_16? align_2? align_256? align_32? align_4? align_512? align_64 align_8? align_rust?
-
Memory alignment of intermediate storage must be selected at compile time,
trading better throughput at larger alignment (loosely speaking)
against lower total stack usage at smaller alignment.
In the worst case, each expression may need additional padding of up to the total alignment bytes minus one, in order to meet alignment requirements.
As a rule of thumb, 64 bytes is a good number for application-level perf.
Memory-constrained embedded usages may prefer to use exactly the minimum align of their vector instruction set (if any), or Rust compiler-determined alignment to balance overall program perf, or a strict align(1) to reduce padding. - align_rust align_1 align_2 align_4 = align_selected
- align_8 align_16 align_32 = align_selected
- align_64 default = align_selected
- align_128 align_256 align_512 = align_selected
- align_1024 = align_selected