251ebf5dc7
(Based on a suggestion by cmumford.) "open" benchmark on my workstation speeds up significantly since we can now avoid three fdatasync calls and a compaction per open: Before: ~80000 microseconds After: ~130 microseconds Details: (1) Added Options::reuse_logs (currently defaults to false) to control new behavior. The intention is to change the default to true after some baking. (2) Added Env::NewAppendableFile() whose default implementation returns a not-supported error. (3) VersionSet::Recovery attempts to reuse the MANIFEST from which it is recovering. (4) DBImpl recovery attempts to reuse the last log file and memtable. (5) db_test.cc now tests a new configuration that sets reuse_logs to true. (6) fault_injection_test also tests a reuse_logs==true config. (7) Added a new recovery_test. |
||
---|---|---|
.. | ||
arena_test.cc | ||
arena.cc | ||
arena.h | ||
bloom_test.cc | ||
bloom.cc | ||
cache_test.cc | ||
cache.cc | ||
coding_test.cc | ||
coding.cc | ||
coding.h | ||
comparator.cc | ||
crc32c_test.cc | ||
crc32c.cc | ||
crc32c.h | ||
env_posix.cc | ||
env_test.cc | ||
env.cc | ||
filter_policy.cc | ||
hash_test.cc | ||
hash.cc | ||
hash.h | ||
histogram.cc | ||
histogram.h | ||
logging.cc | ||
logging.h | ||
mutexlock.h | ||
options.cc | ||
posix_logger.h | ||
random.h | ||
status.cc | ||
testharness.cc | ||
testharness.h | ||
testutil.cc | ||
testutil.h |