summaryrefslogtreecommitdiff
path: root/db/version_edit.h
diff options
context:
space:
mode:
authorgabor@google.com <gabor@google.com@62dab493-f737-651d-591e-8d6aee1b9529>2011-06-22 02:36:45 +0000
committergabor@google.com <gabor@google.com@62dab493-f737-651d-591e-8d6aee1b9529>2011-06-22 02:36:45 +0000
commitccf0fcd5c2946f9228068d657a56d91af9671575 (patch)
tree876b8a3e734972320aced5f0b33bf8bc34c5f101 /db/version_edit.h
parent80e5b0d944b7651046f8b0e795065eca02a01e59 (diff)
downloadleveldb-ccf0fcd5c2946f9228068d657a56d91af9671575.tar.gz
A number of smaller fixes and performance improvements:
- Implemented Get() directly instead of building on top of a full merging iterator stack. This speeds up the "readrandom" benchmark by up to 15-30%. - Fixed an opensource compilation problem. Added --db=<name> flag to control where the database is placed. - Automatically compact a file when we have done enough overlapping seeks to that file. - Fixed a performance bug where we would read from at least one file in a level even if none of the files overlapped the key being read. - Makefile fix for Mac OSX installations that have XCode 4 without XCode 3. - Unified the two occurrences of binary search in a file-list into one routine. - Found and fixed a bug where we would unnecessarily search the last file when looking for a key larger than all data in the level. - A fix to avoid the need for trivial move compactions and therefore gets rid of two out of five syncs in "fillseq". - Removed the MANIFEST file write when switching to a new memtable/log-file for a 10-20% improvement on fill speed on ext4. - Adding a SNAPPY setting in the Makefile for folks who have Snappy installed. Snappy compresses values and speeds up writes. git-svn-id: https://leveldb.googlecode.com/svn/trunk@32 62dab493-f737-651d-591e-8d6aee1b9529
Diffstat (limited to 'db/version_edit.h')
-rw-r--r--db/version_edit.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/db/version_edit.h b/db/version_edit.h
index ab874da..a069893 100644
--- a/db/version_edit.h
+++ b/db/version_edit.h
@@ -16,12 +16,13 @@ class VersionSet;
struct FileMetaData {
int refs;
+ int allowed_seeks; // Seeks allowed until compaction
uint64_t number;
uint64_t file_size; // File size in bytes
InternalKey smallest; // Smallest internal key served by table
InternalKey largest; // Largest internal key served by table
- FileMetaData() : refs(0), file_size(0) { }
+ FileMetaData() : refs(0), allowed_seeks(1 << 30), file_size(0) { }
};
class VersionEdit {