options to db; enable compression

main
Ziyang Hu 2 years ago
parent 1881a21d30
commit 8b561f47ac

@ -7,9 +7,31 @@
#include "db.h"
#include "cozorocks/src/bridge/mod.rs.h"
unique_ptr<Options> default_db_options() {
auto options = make_unique<Options>();
options->compression = kLZ4Compression;
options->bottommost_compression = kZSTD;
options->level_compaction_dynamic_level_bytes = true;
options->max_background_compactions = 4;
options->max_background_flushes = 2;
options->bytes_per_sync = 1048576;
options->compaction_pri = kMinOverlappingRatio;
BlockBasedTableOptions table_options;
table_options.block_size = 16 * 1024;
table_options.cache_index_and_filter_blocks = true;
table_options.pin_l0_filter_and_index_blocks_in_cache = true;
table_options.format_version = 5;
auto table_factory = NewBlockBasedTableFactory(table_options);
options->table_factory.reset(table_factory);
return options;
}
shared_ptr<RawRocksDbBridge>
open_raw_db(const DbOpts &opts, RocksDbStatus &status, bool use_cmp, RustComparatorFn cmp_impl, bool no_wal) {
auto options = make_unique<Options>();
auto options = default_db_options();
if (opts.prepare_for_bulk_load) {
options->PrepareForBulkLoad();
}
@ -68,7 +90,8 @@ open_raw_db(const DbOpts &opts, RocksDbStatus &status, bool use_cmp, RustCompara
}
shared_ptr<RocksDbBridge> open_db(const DbOpts &opts, RocksDbStatus &status, bool use_cmp, RustComparatorFn cmp_impl) {
auto options = make_unique<Options>();
auto options = default_db_options();
if (opts.prepare_for_bulk_load) {
options->PrepareForBulkLoad();
}

@ -1,6 +1,13 @@
use std::env::var;
fn main() {
cxx_build::bridge("src/bridge/mod.rs")
.files(["bridge/status.cpp", "bridge/db.cpp", "bridge/tx.cpp"])
.include("deps/include")
.include("bridge")
.flag_if_supported("-std=c++17")
.compile("cozorocks");
let manifest_dir = var("CARGO_MANIFEST_DIR").unwrap();
println!("cargo:rustc-link-search={}/deps/lib/", manifest_dir);
@ -23,11 +30,4 @@ fn main() {
println!("cargo:rerun-if-changed=bridge/iter.h");
println!("cargo:rerun-if-changed=bridge/tx.h");
println!("cargo:rerun-if-changed=bridge/tx.cpp");
cxx_build::bridge("src/bridge/mod.rs")
.files(["bridge/status.cpp", "bridge/db.cpp", "bridge/tx.cpp"])
.include("deps/include")
.include("bridge")
.flag_if_supported("-std=c++17")
.compile("cozorocks");
}

@ -8,6 +8,7 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
fi
mkdir -p deps
mkdir -p deps/lib
INSTALL_DIR=$(readlink -f deps)
echo "$INSTALL_DIR"
@ -31,12 +32,18 @@ export EXTRA_CXXFLAGS='-fPIC'
# JEMALLOC_LIB=" $JEMALLOC_BASE/lib/libjemalloc.a" \
# JEMALLOC=1 \
DEBUG_LEVEL=0 make libz.a libsnappy.a liblz4.a libzstd.a
mv ./*.a ../deps/lib || exit
export EXTRA_CFLAGS="-fPIC -I${PWD}/lz4-1.9.3/lib"
export EXTRA_CXXFLAGS="-fPIC -I${PWD}/lz4-1.9.3/lib"
DEBUG_LEVEL=0 \
USE_RTTI=1 \
USE_CLANG=1 \
PREFIX=$INSTALL_DIR \
make install-static || exit
DEBUG_LEVEL=0 make libz.a libsnappy.a liblz4.a libzstd.a
mv ./*.a ../deps/lib || exit
make clean

Loading…
Cancel
Save