Do not allocate attributes entry if there are no attributes

This saves 8mb.
This commit is contained in:
Chayim Refael Friedman 2024-10-19 23:07:02 +03:00
parent d0933cc097
commit bccf0062b7
2 changed files with 13 additions and 6 deletions

View file

@ -198,12 +198,14 @@ impl<'a> Ctx<'a> {
}
fn add_attrs(&mut self, item: AttrOwner, attrs: RawAttrs) {
match self.tree.attrs.entry(item) {
Entry::Occupied(mut entry) => {
*entry.get_mut() = entry.get().merge(attrs);
}
Entry::Vacant(entry) => {
entry.insert(attrs);
if !attrs.is_empty() {
match self.tree.attrs.entry(item) {
Entry::Occupied(mut entry) => {
*entry.get_mut() = entry.get().merge(attrs);
}
Entry::Vacant(entry) => {
entry.insert(attrs);
}
}
}
}