From 6d5851a9ee79959a3c25b193f9eb0a8a3c03d392 Mon Sep 17 00:00:00 2001 From: Luke Parker Date: Wed, 26 Jul 2023 14:05:10 -0400 Subject: [PATCH] Use lz4 instead of zstd for the DB zstd was recommended for the base layer only, due to its CPU requirements. That was a misreading on mhy behalf. lz4 gets ~5% better compression than snappy with ~30% faster performance. zstd does ~25% better than lz4 yet at ~30% of the performance. --- Cargo.lock | 2 +- common/db/Cargo.toml | 2 +- common/db/src/rocks.rs | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c6af896a..316842d8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4713,8 +4713,8 @@ dependencies = [ "glob", "libc", "libz-sys", + "lz4-sys", "tikv-jemalloc-sys", - "zstd-sys", ] [[package]] diff --git a/common/db/Cargo.toml b/common/db/Cargo.toml index 83c536bb..77b46fd6 100644 --- a/common/db/Cargo.toml +++ b/common/db/Cargo.toml @@ -13,7 +13,7 @@ all-features = true rustdoc-args = ["--cfg", "docsrs"] [dependencies] -rocksdb = { version = "0.21", default-features = false, features = ["zstd"], optional = true } +rocksdb = { version = "0.21", default-features = false, features = ["lz4"], optional = true } [features] rocksdb = ["dep:rocksdb"] diff --git a/common/db/src/rocks.rs b/common/db/src/rocks.rs index bb1c5165..74fd33ad 100644 --- a/common/db/src/rocks.rs +++ b/common/db/src/rocks.rs @@ -37,6 +37,6 @@ pub type RocksDB = Arc>; pub fn new_rocksdb(path: &str) -> RocksDB { let mut options = Options::default(); options.create_if_missing(true); - options.set_compression_type(DBCompressionType::Zstd); + options.set_compression_type(DBCompressionType::Lz4); Arc::new(TransactionDB::open(&options, &Default::default(), path).unwrap()) }