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

back to top