Skip to content

Commit 4777295

Browse files
committed
perf: remove redundant .lower() calls in Headers
The _list stores (raw_key, lowercase_key, value) tuples, so the second element is already lowercase. Calling .lower() on it again is unnecessary and wastes CPU cycles. Benchmark shows ~1.6x speedup for header lookups.
1 parent ae1b9f6 commit 4777295

1 file changed

Lines changed: 2 additions & 2 deletions

File tree

httpx/_models.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ def get_list(self, key: str, split_commas: bool = False) -> list[str]:
260260
values = [
261261
item_value.decode(self.encoding)
262262
for _, item_key, item_value in self._list
263-
if item_key.lower() == get_header_key
263+
if item_key == get_header_key
264264
]
265265

266266
if not split_commas:
@@ -334,7 +334,7 @@ def __delitem__(self, key: str) -> None:
334334
pop_indexes = [
335335
idx
336336
for idx, (_, item_key, _) in enumerate(self._list)
337-
if item_key.lower() == del_key
337+
if item_key == del_key
338338
]
339339

340340
if not pop_indexes:

0 commit comments

Comments
 (0)