Shrink NamedMatchVec
to one inline element.
This counters the `NamedMatchVec` size increase from the previous commit, leaving `NamedMatchVec` smaller than before.
This commit is contained in:
parent
6817442ec7
commit
cad5f1e774
1 changed files with 5 additions and 2 deletions
|
@ -101,11 +101,14 @@ struct MatcherTtFrame<'tt> {
|
||||||
idx: usize,
|
idx: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
type NamedMatchVec = SmallVec<[NamedMatch; 4]>;
|
// One element is enough to cover 95-99% of vectors for most benchmarks. Also,
|
||||||
|
// vectors longer than one frequently have many elements, not just two or
|
||||||
|
// three.
|
||||||
|
type NamedMatchVec = SmallVec<[NamedMatch; 1]>;
|
||||||
|
|
||||||
// This type is used a lot. Make sure it doesn't unintentionally get bigger.
|
// This type is used a lot. Make sure it doesn't unintentionally get bigger.
|
||||||
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
#[cfg(all(target_arch = "x86_64", target_pointer_width = "64"))]
|
||||||
rustc_data_structures::static_assert_size!(NamedMatchVec, 168);
|
rustc_data_structures::static_assert_size!(NamedMatchVec, 48);
|
||||||
|
|
||||||
/// Represents a single "position" (aka "matcher position", aka "item"), as
|
/// Represents a single "position" (aka "matcher position", aka "item"), as
|
||||||
/// described in the module documentation.
|
/// described in the module documentation.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue