Faster remove_header() call.

It saves one lookup when the header to remove is not in the map.
Micro-benchmark shows about 40% speedup.
This commit is contained in:
Yuchen Wu 2024-06-07 15:28:39 -04:00 committed by Kevin Guthrie
parent e3c655b781
commit 53e696d1dd
2 changed files with 7 additions and 4 deletions

2
.bleep
View file

@ -1 +1 @@
6fa02eb9204012fc468cf1cea6ee4042dfdaec9d
a06136947618424b0ffa3b5c1a280db6a4b577dc

View file

@ -573,10 +573,13 @@ fn remove_header<'a, T, N: ?Sized>(
where
&'a N: 'a + AsHeaderName,
{
if let Some(name_map) = name_map {
name_map.remove(name);
let removed = value_map.remove(name);
if removed.is_some() {
if let Some(name_map) = name_map {
name_map.remove(name);
}
}
value_map.remove(name)
removed
}
#[inline]