Some memory optimizations.

This commit is contained in:
daxpedda 2019-12-07 14:40:25 +01:00
parent 3d98768093
commit 3571c8f616
No known key found for this signature in database
GPG Key ID: 43D62A3EA388E46F
2 changed files with 4 additions and 1 deletions

View File

@ -212,7 +212,7 @@ impl ContentEncoder {
ContentEncoder::Br(ref mut encoder) => { ContentEncoder::Br(ref mut encoder) => {
let mut encoder_new = CompressorWriter::new(Writer::new(), 0, 3, 0); let mut encoder_new = CompressorWriter::new(Writer::new(), 0, 3, 0);
std::mem::swap(encoder, &mut encoder_new); std::mem::swap(encoder, &mut encoder_new);
encoder_new.into_inner().take() encoder_new.into_inner().freeze()
} }
#[cfg(any(feature = "flate2-zlib", feature = "flate2-rust"))] #[cfg(any(feature = "flate2-zlib", feature = "flate2-rust"))]
ContentEncoder::Deflate(ref mut encoder) => encoder.get_mut().take(), ContentEncoder::Deflate(ref mut encoder) => encoder.get_mut().take(),

View File

@ -22,6 +22,9 @@ impl Writer {
fn take(&mut self) -> Bytes { fn take(&mut self) -> Bytes {
self.buf.split().freeze() self.buf.split().freeze()
} }
fn freeze(self) -> Bytes {
self.buf.freeze()
}
} }
impl io::Write for Writer { impl io::Write for Writer {