/*
- * Copyright 2015 Facebook, Inc.
+ * Copyright 2016 Facebook, Inc.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
// word length = uniformly distributed between 1 and 10
// charset = 0x20 - 0x7f
std::uniform_int_distribution<size_t> term_len(1, 10);
- std::uniform_int_distribution<uint8_t> term_char(0x20, 0x7f);
+ std::uniform_int_distribution<uint16_t> term_char(0x20, 0x7f);
for (int i = 0; i < kMaxTerms; i++) {
std::string& term = terms[i];
int len = term_len(rng);
// the benchmark without providing any useful data.
int main(int argc, char** argv) {
- initialize();
- # define BM(name, min, max) \
- for (size_t i = min; i <= max; i *= 2) { \
- addBenchmark( \
- __FILE__, \
- sformat("{}_{}", #name, i).c_str(), \
- [=](int iters) { name(iters, i); return iters; }); \
- }
+ gflags::ParseCommandLineFlags(&argc, &argv, true);
+ # define BM(name, min, max) \
+ for (size_t i = min; i <= max; i *= 2) { \
+ addBenchmark( \
+ __FILE__, \
+ sformat("{}_{}", #name, i).c_str(), \
+ [=](int iters) { name(iters, i); return iters; }); \
+ }
+ BM(fastFingerprintIds64, 1, kMaxIds)
+ BM(slowFingerprintIds64, 1, kMaxIds)
+ BM(fastFingerprintIds96, 1, kMaxIds)
+ BM(fastFingerprintIds128, 1, kMaxIds)
+ BM(fastFingerprintTerms64, 1, kMaxTerms)
+ BM(slowFingerprintTerms64, 1, kMaxTerms)
+ BM(fastFingerprintTerms96, 1, kMaxTerms)
+ BM(fastFingerprintTerms128, 1, kMaxTerms)
+ # undef BM
- BM(fastFingerprintIds64, 1, kMaxIds)
- BM(slowFingerprintIds64, 1, kMaxIds)
- BM(fastFingerprintIds96, 1, kMaxIds)
- BM(fastFingerprintIds128, 1, kMaxIds)
- BM(fastFingerprintTerms64, 1, kMaxTerms)
- BM(slowFingerprintTerms64, 1, kMaxTerms)
- BM(fastFingerprintTerms96, 1, kMaxTerms)
- BM(fastFingerprintTerms128, 1, kMaxTerms)
- # undef BM
-
- runBenchmarks();
- return 0;
+ initialize();
+ runBenchmarks();
+ return 0;
}