rocksdb/port
Dmitri Smirnov 36300fbbe3 Enable per-request buffer allocation in RandomAccessFile
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.
2016-02-01 13:14:37 -08:00
..
win Enable per-request buffer allocation in RandomAccessFile 2016-02-01 13:14:37 -08:00
dirent.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
likely.h cache SuperVersion in thread local storage to avoid mutex lock 2014-02-27 11:38:55 -08:00
port_example.h Deprecate AtomicPointer 2014-10-27 14:50:21 -07:00
port_posix.cc support for concurrent adds to memtable 2015-12-25 11:03:40 -08:00
port_posix.h Align statistics 2016-01-13 14:53:23 -08:00
port.h Lint everything 2015-11-16 12:56:21 -08:00
README reverting disastrous MOE commit, returning to r21 2011-04-19 23:11:15 +00:00
stack_trace.cc Build for CYGWIN 2015-04-23 21:33:44 -07:00
stack_trace.h Print out stack trace in mac, too 2014-04-23 09:11:35 -04:00
sys_time.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00
util_logger.h "make format" against last 10 commits 2015-07-13 13:50:18 -07:00

This directory contains interfaces and implementations that isolate the
rest of the package from platform details.

Code in the rest of the package includes "port.h" from this directory.
"port.h" in turn includes a platform specific "port_<platform>.h" file
that provides the platform specific implementation.

See port_posix.h for an example of what must be provided in a platform
specific header file.