• X
    Make arena block size configurable · 0f0a24e2
    Xing Jin 提交于
    Summary:
    Add an option for arena block size, default value 4096 bytes. Arena will allocate blocks with such size.
    
    I am not sure about passing parameter to skiplist in the new virtualized framework, though I talked to Jim a bit. So add Jim as reviewer.
    
    Test Plan:
    new unit test, I am running db_test.
    
    For passing paramter from configured option to Arena, I tried tests like:
    
      TEST(DBTest, Arena_Option) {
      std::string dbname = test::TmpDir() + "/db_arena_option_test";
      DestroyDB(dbname, Options());
    
      DB* db = nullptr;
      Options opts;
      opts.create_if_missing = true;
      opts.arena_block_size = 1000000; // tested 99, 999999
      Status s = DB::Open(opts, dbname, &db);
      db->Put(WriteOptions(), "a", "123");
      }
    
    and printed some debug info. The results look good. Any suggestion for such a unit-test?
    
    Reviewers: haobo, dhruba, emayanke, jpaton
    
    Reviewed By: dhruba
    
    CC: leveldb, zshao
    
    Differential Revision: https://reviews.facebook.net/D11799
    0f0a24e2
skiplist_test.cc 9.7 KB