1. 16 4月, 2014 6 次提交
  2. 15 4月, 2014 9 次提交
  3. 12 4月, 2014 6 次提交
  4. 11 4月, 2014 9 次提交
  5. 10 4月, 2014 7 次提交
    • I
      Turn on -Wmissing-prototypes · 4daea663
      Igor Canadi 提交于
      Summary: Compiling for iOS has by default turned on -Wmissing-prototypes, which causes rocksdb to fail compiling. This diff turns on -Wmissing-prototypes in our compile options and cleans up all functions with missing prototypes.
      
      Test Plan: compiles
      
      Reviewers: dhruba, haobo, ljin, sdong
      
      Reviewed By: ljin
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17649
      4daea663
    • S
      Polish IterKey and use it in DBImpl::ProcessKeyValueCompaction() · df2a8b6a
      sdong 提交于
      Summary:
      1. Polish IterKey a little bit.
      2. Turn to use it in local parameter of current_user_key in DBImpl::ProcessKeyValueCompaction(). Our profile showing that DBImpl::ProcessKeyValueCompaction() has about 14% costs in std::string (the base including reading and writing data but excluding compaction filtering), which is higher than it should be. There are two std::string used in DBImpl::ProcessKeyValueCompaction(), compaction_filter_value and current_user_key and it's hard to distinguish the two.
      
      Test Plan: make all check
      
      Reviewers: haobo, ljin
      
      Reviewed By: haobo
      
      CC: igor, yhchiang, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D17613
      df2a8b6a
    • I
      Improved CompressedCache · dc559032
      Igor Canadi 提交于
      Summary:
      This is testing behavior that was reported in https://github.com/facebook/rocksdb/issues/111
      
      No issue was found, but it still good to commit this and make CompressedCache more robust.
      
      Test Plan: this is a plan
      
      Reviewers: ljin, dhruba
      
      Reviewed By: dhruba
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17625
      dc559032
    • L
      speed up db_bench filluniquerandom mode · 4824014e
      Lei Jin 提交于
      Summary:
      filluniquerandom is painfully slow due to the naive bitmap check to find
      out if a key has been seen before. Majority of time is spent on searching
      the last few keys. Split a giant BitSet to smaller ones so that we can
      quickly check if a BitSet is full and thus can skip quickly.
      
      It used to take over one hour to filluniquerandom for 100M keys, now it
      takes about 10 mins.
      
      Test Plan:
      unit test
      also verified correctness in db_bench and make sure all keys are
      generated
      
      Reviewers: igor, haobo, yhchiang
      
      Reviewed By: igor
      
      CC: leveldb, dhruba
      
      Differential Revision: https://reviews.facebook.net/D17607
      4824014e
    • I
      Fix ASAN issue · 2014915d
      Igor Canadi 提交于
      2014915d
    • S
      PlainTableBuilder::Add() to use local char array instead of reused std::string as tmp buffer · e9ed28f9
      sdong 提交于
      Summary: Our profile shows that in one of the applications, 5% of the CPU costs of PlainTableBuilder::Add() are spent on std::string stacks. By this simple change, we avoid this global reusable string. Also, we avoid another call of file appending, which probably gives another 2%.
      
      Test Plan: make all check
      
      Reviewers: haobo, ljin
      
      Reviewed By: haobo
      
      CC: igor, yhchiang, dhruba, leveldb
      
      Differential Revision: https://reviews.facebook.net/D17601
      e9ed28f9
    • I
      Column family support for DB::OpenForReadOnly() · b947fdc8
      Igor Canadi 提交于
      Summary: When opening DB in read-only mode, client can choose to only specify a subset of column families ("default" column family can't be omitted, though)
      
      Test Plan: added a unit test in column_family_test
      
      Reviewers: haobo, sdong, ljin, dhruba
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17565
      b947fdc8
  6. 09 4月, 2014 3 次提交
    • Y
      [JNI] Add an initial benchmark for java binding for rocksdb. · 0f5cbcd7
      Yueh-Hsuan Chiang 提交于
      Summary:
      * Add a benchmark for java binding for rocksdb.  The java benchmark
        is a complete rewrite based on the c++ db/db_bench.cc and the
        DbBenchmark in dain's java leveldb.
      * Support multithreading.
      * 'readseq' is currently not supported as it requires RocksDB Iterator.
      
      * usage:
      
        --benchmarks
          Comma-separated list of operations to run in the specified order
              Actual benchmarks:
                      fillseq    -- write N values in sequential key order in async mode
                      fillrandom -- write N values in random key order in async mode
                      fillbatch  -- write N/1000 batch where each batch has 1000 values
                                    in random key order in sync mode
                      fillsync   -- write N/100 values in random key order in sync mode
                      fill100K   -- write N/1000 100K values in random order in async mode
                      readseq    -- read N times sequentially
                      readrandom -- read N times in random order
                      readhot    -- read N times in random order from 1% section of DB
              Meta Operations:
                      delete     -- delete DB
          DEFAULT: [fillseq, readrandom, fillrandom]
      
        --compression_ratio
          Arrange to generate values that shrink to this fraction of
              their original size after compression
          DEFAULT: 0.5
      
        --use_existing_db
          If true, do not destroy the existing database.  If you set this
              flag and also specify a benchmark that wants a fresh database,  that benchmark will fail.
          DEFAULT: false
      
        --num
          Number of key/values to place in database.
          DEFAULT: 1000000
      
        --threads
          Number of concurrent threads to run.
          DEFAULT: 1
      
        --reads
          Number of read operations to do.  If negative, do --nums reads.
      
        --key_size
          The size of each key in bytes.
          DEFAULT: 16
      
        --value_size
          The size of each value in bytes.
          DEFAULT: 100
      
        --write_buffer_size
          Number of bytes to buffer in memtable before compacting
              (initialized to default value by 'main'.)
          DEFAULT: 4194304
      
        --cache_size
          Number of bytes to use as a cache of uncompressed data.
              Negative means use default settings.
          DEFAULT: -1
      
        --seed
          Seed base for random number generators.
          DEFAULT: 0
      
        --db
          Use the db with the following name.
          DEFAULT: /tmp/rocksdbjni-bench
      
      * Add RocksDB.write().
      
      Test Plan: make jbench
      
      Reviewers: haobo, sdong, dhruba, ankgup87
      
      Reviewed By: haobo
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17433
      0f5cbcd7
    • Y
    • I
      Fix GetProperty() test · 731e55c0
      Igor Canadi 提交于
      Summary:
      GetProperty test is flakey.
      Before this diff: P8635927
      After: P8635945
      
      We need to make sure the thread is done before we destruct sleeping tasks. Otherwise, bad things happen.
      
      Test Plan: See summary
      
      Reviewers: ljin, sdong, haobo, dhruba
      
      Reviewed By: ljin
      
      CC: leveldb
      
      Differential Revision: https://reviews.facebook.net/D17595
      731e55c0