export TEST_TMPDIR=/mnt/hyc/bench
NUM=1000000000
# some engines appear to ignore the cache_size and just grab as much RAM as they want
CACHE=17179869184
# some engines honor the cache_size, give them more.
CACHE2=68719476736
THREADS=16
WRATE=0
STATS=1048576
DUR=10800
TIME="/usr/bin/time -v"

rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=fillseqbatch
$TIME ./run ./db_bench --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench_basho --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=fillseqbatch
$TIME ./run ./db_bench_basho --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench_bdb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=fillseqbatch
$TIME ./run ./db_bench_bdb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench_hyper --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=fillseqbatch
$TIME ./run ./db_bench_hyper --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --write_buffer_size=268435456 --open_files=500000 --bloom_bits=10 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
#rm -rf $TEST_TMPDIR/*
#$TIME ./run ./db_bench_mdb --stats_interval=$STATS --num=$NUM --benchmarks=fillseqbatch --writemap=1
#$TIME ./run ./db_bench_mdb --stats_interval=$STATS --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --writemap=1
#du $TEST_TMPDIR
rm -rf $TEST_TMPDIR/*
#$TIME ./run ./db_bench_rocksdb --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --benchmarks=fillseqbatch
#$TIME ./run ./db_bench_rocksdb --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
$TIME ./run ./db_bench.rocks --num_levels=6 --key_size=16 --prefix_size=16 --keys_per_prefix=0 --block_size=4096 --cache_size=$CACHE --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=134217728 --max_bytes_for_level_base=1073741824 --sync=0 --disable_data_sync=1 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_grandparent_overlap_factor=10 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=1048576 --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --perf_level=0 --benchmarks=fillbatch        --use_existing_db=0 --num=$NUM --threads=1
du $TEST_TMPDIR
$TIME ./run ./db_bench.rocks --num_levels=6 --key_size=16 --prefix_size=16 --keys_per_prefix=0 --block_size=4096 --cache_size=$CACHE --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=134217728 --max_bytes_for_level_base=1073741824 --sync=0 --disable_data_sync=1 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_grandparent_overlap_factor=10 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=$STATS --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --perf_level=0 --duration=$DUR --benchmarks=readwhilewriting --use_existing_db=1 --num=$NUM --threads=$THREADS --writes_per_second=$WRATE --duration=$DUR
du $TEST_TMPDIR
rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench_tokudb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=fillseqbatch
$TIME ./run ./db_bench_tokudb --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
echo "Running wiredtiger twice, once as LSM, once as Btree"
rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --benchmarks=fillseqbatch
$TIME ./run ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE --num=$NUM --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
echo "Running wiredtiger Btree"
rm -rf $TEST_TMPDIR/*
$TIME ./run ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --use_lsm=0 --benchmarks=fillseqbatch
$TIME ./run ./db_bench_wiredtiger --stats_interval=$STATS --cache_size=$CACHE2 --num=$NUM --use_lsm=0 --benchmarks=readwhilewriting --use_existing_db=1 --writes_per_second=$WRATE --threads=$THREADS --duration=$DUR
du $TEST_TMPDIR
exit
