Skip to content

Commit 13c0dc0

Browse files
committed
don't compute checksum if we need to recompute it later
1 parent 92a10a1 commit 13c0dc0

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

libsql-wal/src/segment/current.rs

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -255,12 +255,17 @@ impl<F> CurrentSegment<F> {
255255
frame_no: frame_no.into(),
256256
};
257257

258-
let mut digest =
259-
crc32fast::Hasher::new_with_initial(current_savepoint.current_checksum);
260-
digest.write(header.as_bytes());
261-
digest.write(page);
258+
// only compute checksum if we don't need to recompute it later
259+
let checksum = if tx.recompute_checksum.is_none() {
260+
let mut digest =
261+
crc32fast::Hasher::new_with_initial(current_savepoint.current_checksum);
262+
digest.write(header.as_bytes());
263+
digest.write(page);
264+
digest.finalize()
265+
} else {
266+
0
267+
};
262268

263-
let checksum = digest.finalize();
264269
let checksum_bytes = checksum.to_le_bytes();
265270
// We write a instance of a ChecksummedFrame
266271
let slices = &[

0 commit comments

Comments
 (0)