1
0
mirror of https://github.com/Amulet-Team/leveldb-mcpe.git synced 2024-11-23 23:26:16 +00:00
leveldb-amulet/helpers/memenv
Sanjay Ghemawat 1b7c4ce89d LevelDB now attempts to reuse the preceding MANIFEST and log file when re-opened.
(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.
2016-04-07 17:45:03 +02:00
..
memenv_test.cc LevelDB now attempts to reuse the preceding MANIFEST and log file when re-opened. 2016-04-07 17:45:03 +02:00
memenv.cc LevelDB now attempts to reuse the preceding MANIFEST and log file when re-opened. 2016-04-07 17:45:03 +02:00
memenv.h A number of fixes: 2011-10-31 17:22:06 +00:00