f26cb0f093
Summary: Based on my recent findings (posted in our internal group), if we use fallocate without KEEP_SIZE flag, we get superior performance of fdatasync() in append-only workloads. This diff provides an option for user to not use KEEP_SIZE flag, thus optimizing his sync performance by up to 2x-3x. At one point we also just called posix_fallocate instead of fallocate, which isn't very fast: http://code.woboq.org/userspace/glibc/sysdeps/posix/posix_fallocate.c.html (tl;dr it manually writes out zero bytes to allocate storage). This diff also fixes that, by first calling fallocate and then posix_fallocate if fallocate is not supported. Test Plan: make check Reviewers: dhruba, sdong, haobo, ljin Reviewed By: dhruba CC: leveldb Differential Revision: https://reviews.facebook.net/D16761 |
||
---|---|---|
.. | ||
c.h | ||
cache.h | ||
compaction_filter.h | ||
comparator.h | ||
db.h | ||
env.h | ||
filter_policy.h | ||
flush_block_policy.h | ||
iterator.h | ||
ldb_tool.h | ||
memtablerep.h | ||
merge_operator.h | ||
options.h | ||
perf_context.h | ||
slice_transform.h | ||
slice.h | ||
statistics.h | ||
status.h | ||
table_properties.h | ||
table.h | ||
transaction_log.h | ||
types.h | ||
universal_compaction.h | ||
write_batch.h |