rocksdb/tools
Deon Nicholas ad48c3c262 Benchmarking for Merge Operator
Summary:
Updated db_bench and utilities/merge_operators.h to allow for dynamic benchmarking
of merge operators in db_bench. Added a new test (--benchmarks=mergerandom), which performs
a bunch of random Merge() operations over random keys. Also added a "--merge_operator=" flag
so that the tester can easily benchmark different merge operators. Currently supports
the PutOperator and UInt64Add operator. Support for stringappend or list append may come later.

Test Plan:
	1. make db_bench
	2. Test the PutOperator (simulating Put) as follows:
./db_bench --benchmarks=fillrandom,readrandom,updaterandom,readrandom,mergerandom,readrandom --merge_operator=put
--threads=2

3. Test the UInt64AddOperator (simulating numeric addition) similarly:
./db_bench --value_size=8 --benchmarks=fillrandom,readrandom,updaterandom,readrandom,mergerandom,readrandom
--merge_operator=uint64add --threads=2

Reviewers: haobo, dhruba, zshao, MarkCallaghan

Reviewed By: haobo

CC: leveldb

Differential Revision: https://reviews.facebook.net/D11535
2013-08-15 17:13:07 -07:00
..
shell Titile: a command line shell to read/write data from a leveldb thrift server 2012-08-23 09:41:05 -07:00
db_crashtest2.py Update crashtests to match D12267 2013-08-15 10:14:32 -07:00
db_crashtest.py Update crashtests to match D12267 2013-08-15 10:14:32 -07:00
db_repl_stress.cc Do not allow Transaction Log Iterator to fall ahead when writer is writing the same file 2013-03-06 14:05:53 -08:00
db_stress.cc Benchmarking for Merge Operator 2013-08-15 17:13:07 -07:00
ldb_test.py Enhance the ldb tool to support ttl databases 2013-05-15 12:10:00 -07:00
ldb.cc [RocksDB] Expose LDB functioanality as a library call - clients can build their own LDB binary with additional options 2013-04-11 20:21:49 -07:00
reduce_levels_test.cc [Rocksdb] codemod NULL to nullptr in tools/*.cc 2013-03-21 10:45:57 -07:00
sst_dump.cc [RocksDB] Improve sst_dump to take user key range 2013-08-08 15:31:12 -07:00