sdong fa430bfd04 Minimize accessing multiple objects in Version::Get()
Summary:
One of our profilings shows that Version::Get() sometimes is slow when getting pointer of user comparators or other global objects. In this patch:
(1) we keep pointers of immutable objects in Version to avoid accesses them though option objects or cfd objects
(2) table_reader is directly cached in FileMetaData so that table cache don't have to go through handle first to fetch it
(3) If level 0 has less than 3 files, skip the filtering logic based on SST tables' key range. Smallest and largest key are stored in separated memory locations, which has potential cache misses

Test Plan: make all check

Reviewers: haobo, ljin

Reviewed By: haobo

CC: igor, yhchiang, nkg-, leveldb

Differential Revision: https://reviews.facebook.net/D17739
2014-04-17 14:14:00 -07:00
..
2014-04-09 21:17:14 -07:00
2014-04-15 13:39:26 -07:00
2014-04-16 15:15:22 -07:00
2014-03-12 09:56:53 -07:00
2014-04-14 15:43:34 -07:00
2014-04-15 13:39:26 -07:00
2014-04-14 10:48:01 -07:00
2014-04-14 10:48:01 -07:00
2014-04-15 13:39:26 -07:00
2014-04-08 10:58:07 -07:00
2014-04-16 09:09: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-04-08 10:58:07 -07:00
2014-03-14 13:02:20 -07:00
2014-04-09 21:17:14 -07:00
2014-04-15 13:39:26 -07:00
2014-01-30 22:10:10 -08:00
2014-04-15 13:39:26 -07:00
2014-04-15 13:39:26 -07:00
2014-04-15 13:39:26 -07:00
2014-04-15 13:39:26 -07:00