Skip to content

Commit

Permalink
Make parse_method return const slice
Browse files Browse the repository at this point in the history
Performance experiment
  • Loading branch information
hkBst committed Dec 11, 2024
1 parent 380f130 commit b2d8df9
Showing 1 changed file with 4 additions and 6 deletions.
10 changes: 4 additions & 6 deletions src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -851,18 +851,16 @@ pub fn parse_method<'a>(bytes: &mut Bytes<'a>) -> Result<&'a str> {
Some(GET) => {
// SAFETY: matched the ASCII string and boundary checked
let method = unsafe {
bytes.advance(4);
let buf = bytes.slice_skip(1);
str::from_utf8_unchecked(buf)
bytes.advance_and_commit(4);
str::from_utf8_unchecked(&GET[..GET.len()-1])
};
Ok(Status::Complete(method))
}
Some(POST) if bytes.peek_ahead(4) == Some(b' ') => {
// SAFETY: matched the ASCII string and boundary checked
let method = unsafe {
bytes.advance(5);
let buf = bytes.slice_skip(1);
str::from_utf8_unchecked(buf)
bytes.advance_and_commit(5);
str::from_utf8_unchecked(&POST[..])
};
Ok(Status::Complete(method))
}
Expand Down

0 comments on commit b2d8df9

Please sign in to comment.