• Y
    Speed up DB::Open() and Version creation by limiting the number of FileMetaData initialization. · 6c669186
    Yueh-Hsuan Chiang 提交于
    Summary:
    This diff speeds up DB::Open() and Version creation by limiting the number of FileMetaData initialization. The behavior of Version::UpdateAccumulatedStats() is changed as follows:
    
    * It only initializes the first 20 uninitialized FileMetaData from file.  This guarantees the size of the latest 20 files will always be compensated when they have any deletion entries.  Previously it may initialize all FileMetaData by loading all files at DB::Open().
    * In case none the first 20 files has any data entry, UpdateAccumulatedStats() will initialize the FileMetaData of the oldest file.
    
    Test Plan: db_test
    
    Reviewers: igor, sdong, ljin
    
    Reviewed By: ljin
    
    Subscribers: leveldb
    
    Differential Revision: https://reviews.facebook.net/D24255
    6c669186
version_set.cc 100.0 KB