Output on my laptop: $ build/release/tests/perf/perf_hash Timing fixed hash... 28671657.15 tps 28720930.45 tps 28622017.20 tps 28677088.01 tps 29223543.70 tps Timing iterator hash... 22023042.57 tps 21953352.04 tps 21393787.05 tps 21613837.10 tps 21563284.57 tps
36 lines
765 B
C++
36 lines
765 B
C++
/*
|
|
* Copyright 2015 Cloudius Systems
|
|
*/
|
|
|
|
#include "utils/murmur_hash.hh"
|
|
#include "tests/perf/perf.hh"
|
|
|
|
volatile uint64_t black_hole;
|
|
|
|
int main(int argc, char* argv[]) {
|
|
const uint64_t seed = 0;
|
|
auto src = bytes("0123412308129301923019283056789012345");
|
|
|
|
uint64_t sink = 0;
|
|
|
|
std::cout << "Timing fixed hash...\n";
|
|
|
|
time_it([&] {
|
|
std::array<uint64_t,2> dst;
|
|
utils::murmur_hash::hash3_x64_128(src, seed, dst);
|
|
sink += dst[0];
|
|
sink += dst[1];
|
|
});
|
|
|
|
std::cout << "Timing iterator hash...\n";
|
|
|
|
time_it([&] {
|
|
std::array<uint64_t,2> dst;
|
|
utils::murmur_hash::hash3_x64_128(src.begin(), src.size(), seed, dst);
|
|
sink += dst[0];
|
|
sink += dst[1];
|
|
});
|
|
|
|
black_hole = sink;
|
|
}
|