Revision 885b1c682e85391beb7f26a842e2128e3653bd4a authored by Siying Dong on 14 September 2017, 22:41:19 UTC, committed by Facebook Github Bot on 14 September 2017, 22:41:49 UTC
Summary:
Move uncommon code paths in RangeDelAggregator::ShouldDelete() and IterKey::EnlargeBufferIfNeeded() to a separate function, so that the inlined strcuture can be more optimized.

Optimize it because these places show up in CPU profiling, though minimum. The performance is really hard measure. I ran db_bench with readseq benchmark against in-memory DB many times. The variation is big, but it seems to show 1% improvements.
Closes https://github.com/facebook/rocksdb/pull/2877

Differential Revision: D5828123

Pulled By: siying

fbshipit-source-id: 41a49e229f91e9f8409f85cc6f0dc70e31334e4b
1 parent ffac683
History
File Mode Size
dump
rdb
CMakeLists.txt -rw-r--r-- 544 bytes
Dockerfile -rw-r--r-- 81 bytes
auto_sanity_test.sh -rwxr-xr-x 2.7 KB
benchmark.sh -rwxr-xr-x 16.5 KB
benchmark_leveldb.sh -rwxr-xr-x 5.1 KB
blob_dump.cc -rw-r--r-- 2.5 KB
check_format_compatible.sh -rwxr-xr-x 4.0 KB
db_bench.cc -rw-r--r-- 813 bytes
db_bench_tool.cc -rw-r--r-- 187.6 KB
db_bench_tool_test.cc -rw-r--r-- 9.5 KB
db_crashtest.py -rw-r--r-- 13.2 KB
db_repl_stress.cc -rw-r--r-- 4.4 KB
db_sanity_test.cc -rw-r--r-- 8.4 KB
db_stress.cc -rw-r--r-- 88.8 KB
dbench_monitor -rwxr-xr-x 2.6 KB
generate_random_db.sh -rwxr-xr-x 734 bytes
ldb.cc -rw-r--r-- 564 bytes
ldb_cmd.cc -rw-r--r-- 94.3 KB
ldb_cmd_impl.h -rw-r--r-- 14.0 KB
ldb_cmd_test.cc -rw-r--r-- 1.8 KB
ldb_test.py -rw-r--r-- 24.3 KB
ldb_tool.cc -rw-r--r-- 4.6 KB
pflag -rwxr-xr-x 4.0 KB
reduce_levels_test.cc -rw-r--r-- 5.2 KB
regression_test.sh -rwxr-xr-x 15.8 KB
rocksdb_dump_test.sh -rwxr-xr-x 336 bytes
run_flash_bench.sh -rwxr-xr-x 13.5 KB
run_leveldb.sh -rwxr-xr-x 6.2 KB
sample-dump.dmp -rw-r--r-- 100 bytes
sst_dump.cc -rw-r--r-- 573 bytes
sst_dump_test.cc -rw-r--r-- 6.4 KB
sst_dump_tool.cc -rw-r--r-- 23.4 KB
sst_dump_tool_imp.h -rw-r--r-- 2.8 KB
verify_random_db.sh -rwxr-xr-x 885 bytes
write_stress.cc -rw-r--r-- 10.7 KB
write_stress_runner.py -rw-r--r-- 2.2 KB

back to top