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
arcanist_util
build_tools
coverage
db
doc
examples
hdfs
include
java
memtable
port
table
third-party
tools
util
utilities
.arcconfig -rw-r--r-- 564 bytes
.clang-format -rw-r--r-- 138 bytes
.gitignore -rw-r--r-- 622 bytes
.travis.yml -rw-r--r-- 1.9 KB
AUTHORS -rw-r--r-- 247 bytes
CMakeLists.txt -rw-r--r-- 16.3 KB
CONTRIBUTING.md -rw-r--r-- 733 bytes
DUMP_FORMAT.md -rw-r--r-- 763 bytes
HISTORY.md -rw-r--r-- 30.1 KB
INSTALL.md -rw-r--r-- 3.9 KB
LICENSE -rw-r--r-- 1.6 KB
Makefile -rw-r--r-- 41.0 KB
PATENTS -rw-r--r-- 1.9 KB
README.md -rw-r--r-- 1.2 KB
ROCKSDB_LITE.md -rw-r--r-- 1.0 KB
USERS.md -rw-r--r-- 2.8 KB
Vagrantfile -rw-r--r-- 862 bytes
WINDOWS_PORT.md -rw-r--r-- 12.5 KB
appveyor.yml -rw-r--r-- 462 bytes
src.mk -rw-r--r-- 21.1 KB
thirdparty.inc -rw-r--r-- 7.0 KB

README.md

back to top