rocksdb/utilities
Islam AbdelRahman f38540b12a WriteBatchWithIndex micro optimization
Summary:
  - Put key offset and key size in WriteBatchIndexEntry
  - Use vector for comparators in WriteBatchEntryComparator

I use a slightly modified version of @yoshinorim code to benchmark
https://gist.github.com/IslamAbdelRahman/b120f4fba8d6ff7d58d2

For Put I create a transaction that put a 1000000 keys and measure the time spent without commit.
For GetForUpdate I read the keys that I added in the Put transaction.

Original time:

```
 rm -rf /dev/shm/rocksdb-example/
 ./txn_bench put 1000000
 1000000 OK Ops | took      3.679 seconds
 ./txn_bench get_for_update 1000000
 1000000 OK Ops | took      3.940 seconds
```

New Time

```
  rm -rf /dev/shm/rocksdb-example/
 ./txn_bench put 1000000
 1000000 OK Ops | took      2.727 seconds
 ./txn_bench get_for_update 1000000
 1000000 OK Ops | took      3.880 seconds
```

It looks like there is no significant improvement in GetForUpdate() but we can see ~30% improvement in Put()

Test Plan: unittests

Reviewers: yhchiang, anthony, sdong

Reviewed By: sdong

Subscribers: andrewkr, dhruba, yoshinorim

Differential Revision: https://reviews.facebook.net/D55539
2016-04-01 15:23:46 -07:00
..
backupable Rocksdb backup can store optional application specific metadata 2016-04-01 10:56:52 -07:00
checkpoint Forge current file for checkpoint 2016-03-17 10:07:21 -07:00
compaction_filters Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
convenience Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
document Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
flashcache Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
geodb Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
leveldb_options Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
memory Temporarily disable unstable tests in memory_test.cc 2016-02-09 16:28:34 -08:00
merge_operators Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
options Relax the check condition of prefix_extractor in CheckOptionsCompatibility 2016-02-19 14:42:24 -08:00
redis Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
spatialdb Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
table_properties_collectors Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
transactions Fix AppVeyor build error 2016-03-15 10:57:33 -07:00
ttl Skip unsupported tests in ROCKSDB_LITE 2015-07-20 11:24:54 -07:00
write_batch_with_index WriteBatchWithIndex micro optimization 2016-04-01 15:23:46 -07:00
env_mirror_test.cc env: add EnvMirror 2015-12-10 21:32:45 -05:00
env_mirror.cc Fix warning in release 2015-12-23 22:38:12 -08:00
merge_operators.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00