| 131 | } |
| 132 | |
| 133 | static void MemoizeLruCachedThreadUnsafe(benchmark::State& state) { |
| 134 | const auto keys = MakeStrings(kCacheSize, state.range(0)); |
| 135 | const auto values = MakeStrings(kCacheSize, state.range(1)); |
| 136 | // Emulate recommended usage of MemoizeLruCachedThreadUnsafe |
| 137 | // (the compiler is probably able to cache the TLS-looked up value, though) |
| 138 | thread_local auto mem = MemoizeLruThreadUnsafe(Callable(values), kCacheSize); |
| 139 | BenchmarkMemoize(state, mem, keys); |
| 140 | } |
| 141 | |
| 142 | BENCHMARK(MemoizeLruCached)->Apply(SetCacheArgs); |
| 143 | BENCHMARK(MemoizeLruCachedThreadUnsafe)->Apply(SetCacheArgs); |
nothing calls this directly
no test coverage detected