From 240c894e6def8a3150c77bb4f8fc97d595130a2e Mon Sep 17 00:00:00 2001 From: Chris Mikkelson Date: Mon, 2 Sep 2024 00:40:52 -0500 Subject: [PATCH] block_builder: remove last bit of custom varint code --- src/writer/block_builder.rs | 20 ++++---------------- 1 file changed, 4 insertions(+), 16 deletions(-) diff --git a/src/writer/block_builder.rs b/src/writer/block_builder.rs index 70b9761..8789fad 100644 --- a/src/writer/block_builder.rs +++ b/src/writer/block_builder.rs @@ -1,3 +1,4 @@ +use integer_encoding::VarIntWriter; use std::mem::size_of; pub struct BlockBuilder { @@ -22,19 +23,6 @@ impl Default for BlockBuilder { } } -fn varint_append(v: &mut Vec, mut i: usize) { - loop { - let b: u8 = i as u8 & 0x7f; - i >>= 7; - if i > 0 { - v.push(b | 0x80); - } else { - v.push(b); - break; - } - } -} - impl BlockBuilder { pub(crate) fn add(&mut self, key: &[u8], val: &[u8]) { if self.count > 0 && self.count % self.restart_interval == 0 { @@ -50,9 +38,9 @@ impl BlockBuilder { .count(); let key_unshared = key.len() - key_shared; self.data.reserve(3 * 5 + key_unshared + val.len()); - varint_append(&mut self.data, key_shared); - varint_append(&mut self.data, key_unshared); - varint_append(&mut self.data, val.len()); + self.data.write_varint(key_shared).unwrap(); + self.data.write_varint(key_unshared).unwrap(); + self.data.write_varint(val.len()).unwrap(); self.data.extend_from_slice(&key[key_shared..]); self.data.extend_from_slice(val); self.count += 1; -- 2.50.1