https://github.com/facebook/rocksdb
Revision 36300fbbe3a7fde402152e4a57bbf5cda614d53c authored by Dmitri Smirnov on 01 February 2016, 21:14:37 UTC, committed by Dmitri Smirnov on 01 February 2016, 21:14:37 UTC
 This change impacts only non-buffered I/O on Windows.
 Currently, there is a buffer per RandomAccessFile
 instance that is protected by a lock. The reason we
 maintain the buffer is non-buffered I/O requires an aligned
 buffer to work.
 XPerf traces demonstrate that we accumulate a considerable
 wait time while waiting for that lock.
 This change enables to set random access buffer size to zero
 which would indicate a per request allocation.
 We are expecting that allocation expense would be much less than
 I/O costs plus wait time due to the fact that the memory heap
 would tend to re-use page aligned allocations especially with the
 use of Jemalloc.
 This change does not affect buffer use as a read_ahead_buffer for
 compaction purposes.
1 parent 3b2a1dd
History
Tip revision: 36300fbbe3a7fde402152e4a57bbf5cda614d53c authored by Dmitri Smirnov on 01 February 2016, 21:14:37 UTC
Enable per-request buffer allocation in RandomAccessFile
Tip revision: 36300fb
File Mode Size
dump
rdb
Dockerfile -rw-r--r-- 81 bytes
auto_sanity_test.sh -rwxr-xr-x 2.6 KB
benchmark.sh -rwxr-xr-x 11.5 KB
benchmark_leveldb.sh -rwxr-xr-x 5.1 KB
check_format_compatible.sh -rwxr-xr-x 3.4 KB
db_crashtest.py -rw-r--r-- 12.2 KB
db_repl_stress.cc -rw-r--r-- 4.5 KB
db_sanity_test.cc -rw-r--r-- 8.3 KB
db_stress.cc -rw-r--r-- 76.4 KB
dbench_monitor -rwxr-xr-x 2.6 KB
generate_random_db.sh -rwxr-xr-x 726 bytes
ldb.cc -rw-r--r-- 594 bytes
ldb_cmd.cc -rw-r--r-- 69.6 KB
ldb_cmd.h -rw-r--r-- 23.3 KB
ldb_cmd_execute_result.h -rw-r--r-- 1.6 KB
ldb_cmd_test.cc -rw-r--r-- 1.6 KB
ldb_test.py -rw-r--r-- 23.6 KB
ldb_tool.cc -rw-r--r-- 4.1 KB
pflag -rwxr-xr-x 4.0 KB
reduce_levels_test.cc -rw-r--r-- 5.2 KB
rocksdb_dump_test.sh -rwxr-xr-x 325 bytes
run_flash_bench.sh -rwxr-xr-x 11.7 KB
run_leveldb.sh -rwxr-xr-x 6.2 KB
sample-dump.dmp -rw-r--r-- 100 bytes
sst_dump.cc -rw-r--r-- 603 bytes
sst_dump_test.cc -rw-r--r-- 6.2 KB
sst_dump_tool.cc -rw-r--r-- 17.4 KB
sst_dump_tool_imp.h -rw-r--r-- 2.6 KB
verify_random_db.sh -rwxr-xr-x 710 bytes
write_stress.cc -rw-r--r-- 10.7 KB
write_stress_runner.py -rw-r--r-- 2.2 KB

back to top