From a0409e0bea9ea7db4a1faa9934ac9c88edc309bc Mon Sep 17 00:00:00 2001 From: CosminPerRam <cosmin.p@live.com> Date: Wed, 12 Feb 2025 22:00:35 +0200 Subject: [PATCH 1/3] feat: reduce CrcReader::sum calls in GzEncoder::read_footer --- src/gz/bufread.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/gz/bufread.rs b/src/gz/bufread.rs index e01e5284..fee11e03 100644 --- a/src/gz/bufread.rs +++ b/src/gz/bufread.rs @@ -82,11 +82,12 @@ impl<R: BufRead> GzEncoder<R> { return Ok(0); } let crc = self.inner.get_ref().crc(); + let calced_crc = crc.sum(); let ref arr = [ - (crc.sum() >> 0) as u8, - (crc.sum() >> 8) as u8, - (crc.sum() >> 16) as u8, - (crc.sum() >> 24) as u8, + (calced_crc >> 0) as u8, + (calced_crc >> 8) as u8, + (calced_crc >> 16) as u8, + (calced_crc >> 24) as u8, (crc.amount() >> 0) as u8, (crc.amount() >> 8) as u8, (crc.amount() >> 16) as u8, From 93973acb77f9d58c3f943c50506bc4d77ff15aaa Mon Sep 17 00:00:00 2001 From: CosminPerRam <cosmin.p@live.com> Date: Wed, 12 Feb 2025 22:13:26 +0200 Subject: [PATCH 2/3] feat: use to_le_bytes, remove explicit ref in declaration --- src/gz/bufread.rs | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/gz/bufread.rs b/src/gz/bufread.rs index fee11e03..bca0e64d 100644 --- a/src/gz/bufread.rs +++ b/src/gz/bufread.rs @@ -82,18 +82,18 @@ impl<R: BufRead> GzEncoder<R> { return Ok(0); } let crc = self.inner.get_ref().crc(); - let calced_crc = crc.sum(); - let ref arr = [ - (calced_crc >> 0) as u8, - (calced_crc >> 8) as u8, - (calced_crc >> 16) as u8, - (calced_crc >> 24) as u8, + let calced_crc = crc.sum().to_le_bytes(); + let arr = [ + calced_crc[0], + calced_crc[1], + calced_crc[2], + calced_crc[3], (crc.amount() >> 0) as u8, (crc.amount() >> 8) as u8, (crc.amount() >> 16) as u8, (crc.amount() >> 24) as u8, ]; - Ok(copy(into, arr, &mut self.pos)) + Ok(copy(into, &arr, &mut self.pos)) } } From 1ccce6e78a8f4ddcabcf8257a4d65db7baf81aac Mon Sep 17 00:00:00 2001 From: CosminPerRam <cosmin.p@live.com> Date: Wed, 12 Feb 2025 22:20:55 +0200 Subject: [PATCH 3/3] feat: rename calced_crc to calced_crc_bytes --- src/gz/bufread.rs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/gz/bufread.rs b/src/gz/bufread.rs index bca0e64d..5cfc1008 100644 --- a/src/gz/bufread.rs +++ b/src/gz/bufread.rs @@ -82,12 +82,12 @@ impl<R: BufRead> GzEncoder<R> { return Ok(0); } let crc = self.inner.get_ref().crc(); - let calced_crc = crc.sum().to_le_bytes(); + let calced_crc_bytes = crc.sum().to_le_bytes(); let arr = [ - calced_crc[0], - calced_crc[1], - calced_crc[2], - calced_crc[3], + calced_crc_bytes[0], + calced_crc_bytes[1], + calced_crc_bytes[2], + calced_crc_bytes[3], (crc.amount() >> 0) as u8, (crc.amount() >> 8) as u8, (crc.amount() >> 16) as u8,