MCPcopy Create free account
hub / github.com/apache/arrow / BenchmarkMemoize

Function BenchmarkMemoize

cpp/src/arrow/util/cache_benchmark.cc:109–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

107
108template <typename Memoized>
109static void BenchmarkMemoize(benchmark::State& state, Memoized&& mem,
110 const std::vector<std::string>& keys) {
111 // Prime memoization cache
112 for (const auto& key : keys) {
113 mem(key);
114 }
115
116 for (auto _ : state) {
117 int64_t nbytes = 0;
118 for (const auto& key : keys) {
119 nbytes += static_cast<int64_t>(mem(key).length());
120 }
121 benchmark::DoNotOptimize(nbytes);
122 }
123 state.SetItemsProcessed(state.iterations() * keys.size());
124}
125
126static void MemoizeLruCached(benchmark::State& state) {
127 const auto keys = MakeStrings(kCacheSize, state.range(0));

Callers 2

MemoizeLruCachedFunction · 0.85

Calls 2

lengthMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected