mirror of
https://codeberg.org/icewind/bitbuffer.git
synced 2026-06-03 16:44:06 +02:00
use memchr for alligned string reads
This commit is contained in:
parent
4a888e685c
commit
85abe2d9e8
2 changed files with 3 additions and 6 deletions
|
|
@ -14,6 +14,7 @@ travis-ci = { repository = "icewind1991/bitstream_reader" }
|
||||||
num-traits = "0.2"
|
num-traits = "0.2"
|
||||||
bitstream_reader_derive = { version = "0.6", path = "bitstream_reader_derive" }
|
bitstream_reader_derive = { version = "0.6", path = "bitstream_reader_derive" }
|
||||||
bytecount = "0.5"
|
bytecount = "0.5"
|
||||||
|
memchr = "2.2"
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
maplit = "1.0.1"
|
maplit = "1.0.1"
|
||||||
|
|
|
||||||
|
|
@ -431,12 +431,8 @@ where
|
||||||
|
|
||||||
#[inline]
|
#[inline]
|
||||||
fn find_null_byte(&self, byte_index: usize) -> usize {
|
fn find_null_byte(&self, byte_index: usize) -> usize {
|
||||||
self.bytes
|
memchr::memchr(0, &self.bytes[byte_index..])
|
||||||
.iter()
|
.map(|index| index + byte_index)
|
||||||
.enumerate()
|
|
||||||
.skip(byte_index)
|
|
||||||
.find(|(_, byte)| **byte == 0)
|
|
||||||
.map(|(i, _)| i)
|
|
||||||
.unwrap_or(self.byte_len())
|
.unwrap_or(self.byte_len())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue