From a8ae6b4fa21d59b727d34517d1553fd8173fb4ea Mon Sep 17 00:00:00 2001 From: K <117524908+0x0FFH@users.noreply.github.com> Date: Sun, 4 Dec 2022 20:46:15 +0200 Subject: [PATCH] Update lib.rs Minor performance improvements. --- src/lib.rs | 34 +++++++++++++++++----------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index b3621c1..f1e5110 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -454,23 +454,23 @@ impl ChunkState { // Try to avoid buffering as much as possible, by compressing directly from // the input slice when full blocks are available. fn update(&mut self, mut input: &[u8]) -> &mut Self { - if self.buf_len > 0 { - self.fill_buf(&mut input); - if !input.is_empty() { - debug_assert_eq!(self.buf_len as usize, BLOCK_LEN); - let block_flags = self.flags | self.start_flag(); // borrowck - self.platform.compress_in_place( - &mut self.cv, - &self.buf, - BLOCK_LEN as u8, - self.chunk_counter, - block_flags, - ); - self.buf_len = 0; - self.buf = [0; BLOCK_LEN]; - self.blocks_compressed += 1; - } - } + if !input.is_empty() && self.buf_len > 0 { + self.fill_buf(&mut input); + debug_assert_eq!(self.buf_len as usize, BLOCK_LEN); + let block_flags = self.flags | self.start_flag(); + self.platform.compress_in_place( + &mut self.cv, + &self.buf, + BLOCK_LEN as u8, + self.chunk_counter, + block_flags, + ); + self.buf_len = 0; + self.buf = [0; BLOCK_LEN]; + self.blocks_compressed += 1; + } +} + while input.len() > BLOCK_LEN { debug_assert_eq!(self.buf_len, 0);