rocksdb/tools
Islam AbdelRahman 88e0527724 Reduce moving memory in LDB::ScanCommand
Summary:
Based on https://github.com/facebook/rocksdb/issues/843
It looks that when the data is hot we spend significant amount of time moving data out of RocksDB blocks. This patch reduce moving memory when possible

Original performance
```
$ time ./ldb --db=/home/tec/local/ellina_test/testdb scan > /dev/null
real	0m16.736s
user	0m11.993s
sys	0m4.725s
```

Performance after reducing memcpy
```
$ time ./ldb --db=/home/tec/local/ellina_test/testdb scan > /dev/null
real	0m11.590s
user	0m6.983s
sys	0m4.595s
```

Test Plan:
dump the output of the scan into 2 files and verifying the are exactly the same
make check

Reviewers: sdong, yhchiang, anthony, rven, igor

Reviewed By: igor

Subscribers: dhruba

Differential Revision: https://reviews.facebook.net/D51093
2015-11-19 22:26:37 -08:00
..
dump Update dump_tool and undump_tool to accept Options 2015-10-05 19:49:48 -07:00
rdb first rdb commit 2014-11-20 23:33:00 -05:00
auto_sanity_test.sh Make auto_sanity_test always use the db_sanity_test.cc of the newer commit. 2015-03-27 11:32:49 -07:00
benchmark_leveldb.sh Add scripts to run leveldb benchmark 2015-04-27 19:32:56 -07:00
benchmark.sh Fix benchmark report script 2015-08-22 12:18:00 -07:00
check_format_compatible.sh Script to check whether RocksDB can read DB generated by previous releases and vice versa 2015-04-08 16:04:59 -07:00
db_crashtest.py crash_test to trigger some less frequent crash point more frequently 2015-10-27 12:06:06 -07:00
db_repl_stress.cc "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
db_sanity_test.cc Add ZSTD (not final format) compression type 2015-08-28 11:01:13 -07:00
db_stress.cc Allow users to disable some kill points in db_stress 2015-10-15 14:33:13 -07:00
dbench_monitor Added simple monitoring script to monitor overusage of memory in db_bench 2015-02-11 18:40:11 -08:00
Dockerfile adding docker build script and dockerfile 2015-05-22 16:03:39 -07:00
generate_random_db.sh Script to check whether RocksDB can read DB generated by previous releases and vice versa 2015-04-08 16:04:59 -07:00
ldb_cmd_execute_result.h Move ldb and sst_dump from utils to tools. 2015-10-14 17:08:28 -07:00
ldb_cmd_test.cc Block tests under ROCKSDB_LITE 2015-10-15 10:51:00 -07:00
ldb_cmd.cc Reduce moving memory in LDB::ScanCommand 2015-11-19 22:26:37 -08:00
ldb_cmd.h Move ldb and sst_dump from utils to tools. 2015-10-14 17:08:28 -07:00
ldb_test.py Tests for ManifestDumpCommand and ListColumnFamiliesCommand 2015-09-08 14:23:42 -07:00
ldb_tool.cc Reduce moving memory in LDB::ScanCommand 2015-11-19 22:26:37 -08:00
ldb.cc Make db_stress built for ROCKSDB_LITE 2014-11-14 10:20:51 -08:00
pflag Added simple monitoring script to monitor overusage of memory in db_bench 2015-02-11 18:40:11 -08:00
reduce_levels_test.cc Move ldb and sst_dump from utils to tools. 2015-10-14 17:08:28 -07:00
rocksdb_dump_test.sh Update dump_tool and undump_tool to accept Options 2015-10-05 19:49:48 -07:00
run_flash_bench.sh Improve defaults for benchmarks 2015-08-20 18:59:10 -07:00
run_leveldb.sh Add scripts to run leveldb benchmark 2015-04-27 19:32:56 -07:00
sample-dump.dmp First version of rocksdb_dump and rocksdb_undump. 2015-06-19 16:24:36 -07:00
sst_dump_test.cc Move ldb and sst_dump from utils to tools. 2015-10-14 17:08:28 -07:00
sst_dump_tool_imp.h Move ldb and sst_dump from utils to tools. 2015-10-14 17:08:28 -07:00
sst_dump_tool.cc Move ldb and sst_dump from utils to tools. 2015-10-14 17:08:28 -07:00
sst_dump.cc Make db_stress built for ROCKSDB_LITE 2014-11-14 10:20:51 -08:00
verify_random_db.sh Script to check whether RocksDB can read DB generated by previous releases and vice versa 2015-04-08 16:04:59 -07:00
write_stress_runner.py Write stress test 2015-10-28 16:15:07 -07:00
write_stress.cc Fix compilation problem on Windows. 2015-10-29 11:29:18 -07:00