Dmitri Smirnov be723a8d8c Optionally construct Post Processing Info map in MemTableInserter
Summary:
MemTableInserter default constructs Post processing info
  std::map. However, on Windows with 2015 STL the default
  constructed map still dynamically allocates one node
  which shows up on a profiler and we loose ~40% throughput
  on fillrandom benchmark.
  Solution: declare a map as std::aligned storage and optionally
  construct.

This addresses https://github.com/facebook/rocksdb/issues/1976

Before:
-------------------------------------------------------------------
  Initializing RocksDB Options from command-line flags
  DB path: [k:\data\BulkLoadRandom_10M_fillonly]
  fillrandom   :       2.775 micros/op 360334 ops/sec;  280.4 MB/s
  Microseconds per write:
  Count: 10000000 Average: 2.7749  StdDev: 39.92
  Min: 1  Median: 2.0826  Max: 26051
  Percentiles: P50: 2.08 P75: 2.55 P99: 3.55 P99.9: 9.58 P99.99: 51.5**6
  ------------------------------------------------------

  After:

  Initializing RocksDB Options from command-line flags
  DB path: [k:\data\BulkLoadRandom_10M_fillon
Closes https://github.com/facebook/rocksdb/pull/2011

Differential Revision: D4740823

Pulled By: siying

fbshipit-source-id: 1daaa2c
2017-03-22 11:24:12 -07:00
..
2016-11-19 14:24:12 -08:00
2017-01-20 13:24:13 -08:00
2017-02-06 14:54:18 -08:00
2017-02-06 14:54:18 -08:00
2017-03-13 09:54:11 -07:00
2017-03-13 11:54:10 -07:00
2017-03-13 11:54:10 -07:00
2016-11-04 12:09:22 -07:00
2017-03-13 09:54:11 -07:00
2017-03-13 09:54:11 -07:00
2017-03-13 09:54:11 -07:00
2017-03-22 09:24:15 -07:00
2017-03-22 09:24:15 -07:00
2017-03-22 09:24:15 -07:00
2017-03-13 11:54:10 -07:00
2016-12-19 16:54:12 -08:00
2017-02-13 11:09:13 -08:00
2016-07-08 17:50:51 -07:00
2017-02-06 14:54:18 -08:00
2016-10-13 08:48:40 -07:00
2016-07-08 17:50:51 -07:00
2017-02-23 12:09:11 -08:00
2016-11-03 18:54:20 -07:00
2017-02-06 14:54:18 -08:00
2017-02-06 14:54:18 -08:00
2016-12-29 15:54:19 -08:00
2017-02-16 10:39:13 -08:00
2016-09-27 18:20:57 -07:00
2016-09-27 18:20:57 -07:00
2017-02-06 14:54:18 -08:00
2016-07-13 15:36:22 -07:00
2017-03-13 11:54:10 -07:00
2017-02-06 14:54:18 -08:00
2016-11-21 18:09:13 -08:00