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
Raw File
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
CONTRIBUTING.md
# Contributing to RocksDB

## Contributor License Agreement ("CLA")

In order to accept your pull request, we need you to submit a CLA. You
only need to do this once, so if you've done this for another Facebook
open source project, you're good to go. If you are submitting a pull
request for the first time, just let us know that you have completed
the CLA and we can cross-check with your GitHub username.

Complete your CLA here: <https://code.facebook.com/cla>

If you prefer to sign a paper copy, we can send you a PDF.  Send us an 
e-mail or create a new github issue to request the CLA in PDF format.

## License

By contributing to RocksDB, you agree that your contributions will be
licensed under the [BSD License](LICENSE).
back to top