// 2. average data key length
// 3. data entry number
static void CustomArguments(benchmark::internal::Benchmark *b) {
- for (int filter_impl : {0, 2, 3}) {
+ const auto kImplCount =
+ static_cast<int>(BloomLikeFilterPolicy::GetAllFixedImpls().size());
+ for (int filter_impl = 0; filter_impl < kImplCount; ++filter_impl) {
for (int bits_per_key : {10, 20}) {
for (int key_len_avg : {10, 100}) {
for (int64_t entry_num : {1 << 10, 1 << 20}) {
auto filter = BloomLikeFilterPolicy::Create(
BloomLikeFilterPolicy::GetAllFixedImpls().at(state.range(0)),
static_cast<double>(state.range(1)));
- auto tester = new mock::MockBlockBasedTableTester(filter);
+ auto tester = std::make_unique<mock::MockBlockBasedTableTester>(filter);
KeyMaker km(state.range(2));
std::unique_ptr<const char[]> owner;
const int64_t kEntryNum = state.range(3);
auto filter = BloomLikeFilterPolicy::Create(
BloomLikeFilterPolicy::GetAllFixedImpls().at(state.range(0)),
static_cast<double>(state.range(1)));
- auto tester = new mock::MockBlockBasedTableTester(filter);
+ auto tester = std::make_unique<mock::MockBlockBasedTableTester>(filter);
KeyMaker km(state.range(2));
std::unique_ptr<const char[]> owner;
const int64_t kEntryNum = state.range(3);
builder->AddKey(km.Get(filter_num, i));
}
auto data = builder->Finish(&owner);
- auto reader = filter->GetFilterBitsReader(data);
+ std::unique_ptr<FilterBitsReader> reader{filter->GetFilterBitsReader(data)};
// run test
uint32_t i = 0;
auto filter = BloomLikeFilterPolicy::Create(
BloomLikeFilterPolicy::GetAllFixedImpls().at(state.range(0)),
static_cast<double>(state.range(1)));
- auto tester = new mock::MockBlockBasedTableTester(filter);
+ auto tester = std::make_unique<mock::MockBlockBasedTableTester>(filter);
KeyMaker km(state.range(2));
std::unique_ptr<const char[]> owner;
const int64_t kEntryNum = state.range(3);
builder->AddKey(km.Get(filter_num, i));
}
auto data = builder->Finish(&owner);
- auto reader = filter->GetFilterBitsReader(data);
+ std::unique_ptr<FilterBitsReader> reader{filter->GetFilterBitsReader(data)};
// run test
uint32_t i = 0;