sdong b405cb886b PlainTableIterator not to store copied key in std::string
Summary:
Move PlainTableIterator's copied key from std::string local buffer to avoid paying the extra costs in std::string related to sharing. Reuse the same buffer class in DbIter. Move the class to dbformat.h.

This patch improves iterator performance significantly. Running this benchmark:

./table_reader_bench --num_keys2=17 --iterator --plain_table --time_unit=nanosecond

The average latency is improved to about 750 nanoseconds from 1100 nanoseconds.

Test Plan:
Add a unit test.
make all check

Reviewers: haobo, ljin

Reviewed By: haobo

CC: igor, yhchiang, dhruba, leveldb

Differential Revision: https://reviews.facebook.net/D17547
2014-04-07 22:18:09 -07:00
..
2014-04-03 10:47:37 +02:00
2014-04-03 16:04:34 -07:00
2014-03-20 14:18:29 -07:00
2014-04-04 15:46:28 -07:00
2014-04-04 15:46:28 -07:00
2013-10-25 08:32:14 -07:00
2014-02-28 13:19:47 -08:00
2014-01-27 14:49:10 -08:00
2014-03-14 22:44:35 +00:00
2014-03-14 13:02:20 -07:00
2014-03-17 21:52:14 -07:00
2014-01-30 22:10:10 -08:00
2014-01-23 16:26:08 -08:00