proxygen
|
#include <folly/AtomicHashMap.h>
#include <atomic>
#include <memory>
#include <thread>
#include <glog/logging.h>
#include <folly/Benchmark.h>
#include <folly/Conv.h>
#include <folly/portability/GTest.h>
#include <folly/portability/SysTime.h>
Go to the source code of this file.
Classes | |
struct | EqTraits |
struct | HashTraits |
class | Counters |
class | Integer |
Typedefs | |
typedef int32_t | KeyT |
typedef int32_t | ValueT |
typedef AtomicHashMap< KeyT, ValueT > | AHMapT |
typedef AHMapT::value_type | RecordT |
typedef AtomicHashArray< KeyT, ValueT > | AHArrayT |
typedef folly::QuadraticProbingAtomicHashMap< KeyT, ValueT > | QPAHMapT |
typedef AtomicHashMap< const char *, int64_t, HashTraits, EqTraits > | AHMCstrInt |
typedef AtomicHashArray< int32_t, int32_t > | AHA |
Functions | |
DEFINE_double (targetLoadFactor, 0.75,"Target memory utilization fraction.") | |
DEFINE_double (maxLoadFactor, 0.80,"Max before growth.") | |
DEFINE_int32 (numThreads, 8,"Threads to use for concurrency tests.") | |
DEFINE_int64 (numBMElements, 12 *1000 *1000,"Size of maps for benchmarks.") | |
static int64_t | nowInUsec () |
TEST (Ahm, BasicStrings) | |
TEST (Ahm, BasicNoncopyable) | |
static AHArrayT::SmartPtr | globalAHA (nullptr) |
static int | genVal (int key) |
static bool | legalKey (const char *a) |
TEST (Ahm, BasicLookup) | |
TEST (Ahm, grow) | |
TEST (Ahm, iterator) | |
TEST (Ahm, counter) | |
TEST (Ahm, map_exception_safety) | |
TEST (Ahm, basicErase) | |
TEST (Ahm, collision_test) | |
TEST (Ahm, race_insert_iterate_thread_test) | |
TEST (Ahm, thread_erase_insert_race) | |
void * | atomicHashArrayInsertRaceThread (void *) |
TEST (Ahm, atomic_hash_array_insert_race) | |
TEST (Ahm, erase_find_race) | |
TEST (Ahm, erase_after_insert_race) | |
TEST (Ahm, iterator_skips_empty_submaps) | |
BENCHMARK (st_aha_find, iters) | |
BENCHMARK (st_ahm_find, iters) | |
BENCHMARK (st_qpahm_find, iters) | |
BENCHMARK_DRAW_LINE () | |
BENCHMARK (mt_ahm_miss, iters) | |
BENCHMARK (mt_qpahm_miss, iters) | |
BENCHMARK (st_ahm_miss, iters) | |
BENCHMARK (st_qpahm_miss, iters) | |
BENCHMARK (mt_ahm_find_insert_mix, iters) | |
BENCHMARK (mt_qpahm_find_insert_mix, iters) | |
BENCHMARK (mt_aha_find, iters) | |
BENCHMARK (mt_ahm_find, iters) | |
BENCHMARK (mt_qpahm_find, iters) | |
BENCHMARK (st_baseline_modulus_and_random, iters) | |
BENCHMARK (mt_ahm_insert, iters) | |
BENCHMARK (mt_qpahm_insert, iters) | |
BENCHMARK (st_ahm_insert, iters) | |
BENCHMARK (st_qpahm_insert, iters) | |
void | benchmarkSetup () |
int | main (int argc, char **argv) |
Variables | |
const double | LF = FLAGS_maxLoadFactor / FLAGS_targetLoadFactor |
const int | maxBMElements = int(FLAGS_numBMElements * LF) |
AHArrayT::Config | config |
QPAHMapT::Config | qpConfig |
static std::unique_ptr< AHMapT > | globalAHM |
static std::unique_ptr< QPAHMapT > | globalQPAHM |
AHMCstrInt::Config | cstrIntCfg |
AHA::Config | configRace |
auto | atomicHashArrayInsertRaceArray = AHA::create(2, configRace) |
KeyT | k |
typedef AtomicHashArray<int32_t, int32_t> AHA |
Definition at line 675 of file AtomicHashMapTest.cpp.
typedef AtomicHashArray<KeyT, ValueT> AHArrayT |
Definition at line 105 of file AtomicHashMapTest.cpp.
typedef AtomicHashMap<KeyT, ValueT> AHMapT |
Definition at line 103 of file AtomicHashMapTest.cpp.
typedef AtomicHashMap<const char*, int64_t, HashTraits, EqTraits> AHMCstrInt |
Definition at line 153 of file AtomicHashMapTest.cpp.
Definition at line 100 of file AtomicHashMapTest.cpp.
Definition at line 107 of file AtomicHashMapTest.cpp.
typedef AHMapT::value_type RecordT |
Definition at line 104 of file AtomicHashMapTest.cpp.
Definition at line 101 of file AtomicHashMapTest.cpp.
void* atomicHashArrayInsertRaceThread | ( | void * | ) |
Definition at line 678 of file AtomicHashMapTest.cpp.
References atomicHashArrayInsertRaceArray, folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), i, and folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert().
Referenced by TEST().
BENCHMARK | ( | st_aha_find | , |
iters | |||
) |
Definition at line 846 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), globalAHA(), and i.
BENCHMARK | ( | st_ahm_find | , |
iters | |||
) |
Definition at line 854 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), and i.
BENCHMARK | ( | st_qpahm_find | , |
iters | |||
) |
Definition at line 862 of file AtomicHashMapTest.cpp.
References BENCHMARK_DRAW_LINE(), folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), and i.
BENCHMARK | ( | mt_ahm_miss | , |
iters | |||
) |
Definition at line 872 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), i, and int64_t.
BENCHMARK | ( | mt_qpahm_miss | , |
iters | |||
) |
Definition at line 888 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), i, and int64_t.
BENCHMARK | ( | st_ahm_miss | , |
iters | |||
) |
Definition at line 904 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), and i.
BENCHMARK | ( | st_qpahm_miss | , |
iters | |||
) |
Definition at line 912 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), and i.
BENCHMARK | ( | mt_ahm_find_insert_mix | , |
iters | |||
) |
Definition at line 920 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), and int64_t.
BENCHMARK | ( | mt_qpahm_find_insert_mix | , |
iters | |||
) |
Definition at line 941 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), and int64_t.
BENCHMARK | ( | mt_aha_find | , |
iters | |||
) |
Definition at line 962 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), globalAHA(), i, and int64_t.
BENCHMARK | ( | mt_ahm_find | , |
iters | |||
) |
Definition at line 978 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), i, and int64_t.
BENCHMARK | ( | mt_qpahm_find | , |
iters | |||
) |
Definition at line 994 of file AtomicHashMapTest.cpp.
References folly::doNotOptimizeAway(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), i, and int64_t.
BENCHMARK | ( | st_baseline_modulus_and_random | , |
iters | |||
) |
Definition at line 1011 of file AtomicHashMapTest.cpp.
BENCHMARK | ( | mt_ahm_insert | , |
iters | |||
) |
Definition at line 1019 of file AtomicHashMapTest.cpp.
References BENCHMARK_SUSPEND, config, and LF.
BENCHMARK | ( | mt_qpahm_insert | , |
iters | |||
) |
Definition at line 1027 of file AtomicHashMapTest.cpp.
References BENCHMARK_SUSPEND, LF, and qpConfig.
BENCHMARK | ( | st_ahm_insert | , |
iters | |||
) |
Definition at line 1035 of file AtomicHashMapTest.cpp.
References folly::BenchmarkSuspender::dismiss(), genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), and LF.
BENCHMARK | ( | st_qpahm_insert | , |
iters | |||
) |
Definition at line 1046 of file AtomicHashMapTest.cpp.
References folly::BenchmarkSuspender::dismiss(), genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), and LF.
BENCHMARK_DRAW_LINE | ( | ) |
Referenced by BENCHMARK().
void benchmarkSetup | ( | ) |
Definition at line 1057 of file AtomicHashMapTest.cpp.
References folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::Config::maxLoadFactor, and min.
Referenced by main().
DEFINE_double | ( | targetLoadFactor | , |
0. | 75, | ||
"Target memory utilization fraction." | |||
) |
DEFINE_double | ( | maxLoadFactor | , |
0. | 80, | ||
"Max before growth." | |||
) |
DEFINE_int32 | ( | numThreads | , |
8 | , | ||
"Threads to use for concurrency tests." | |||
) |
DEFINE_int64 | ( | numBMElements | , |
12 *1000 * | 1000, | ||
"Size of maps for benchmarks." | |||
) |
|
static |
Definition at line 114 of file AtomicHashMapTest.cpp.
References a, and legalKey().
Referenced by BENCHMARK(), and TEST().
|
static |
Referenced by BENCHMARK(), and TEST().
|
static |
Definition at line 156 of file AtomicHashMapTest.cpp.
References folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::Config::emptyKey, folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::Config::erasedKey, and folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::Config::lockedKey.
Referenced by genVal(), and EqTraits::operator()().
int main | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 1084 of file AtomicHashMapTest.cpp.
References benchmarkSetup(), testing::InitGoogleTest(), RUN_ALL_TESTS(), and folly::runBenchmarks().
|
static |
TEST | ( | Ahm | , |
BasicStrings | |||
) |
Definition at line 51 of file AtomicHashMapTest.cpp.
References EXPECT_EQ, EXPECT_TRUE, and i.
TEST | ( | Ahm | , |
BasicNoncopyable | |||
) |
Definition at line 72 of file AtomicHashMapTest.cpp.
References EXPECT_EQ, EXPECT_TRUE, and i.
TEST | ( | Ahm | , |
BasicLookup | |||
) |
Definition at line 161 of file AtomicHashMapTest.cpp.
References folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::begin(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), EXPECT_EQ, EXPECT_TRUE, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), and folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert().
TEST | ( | Ahm | , |
grow | |||
) |
Definition at line 184 of file AtomicHashMapTest.cpp.
References folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::clear(), EXPECT_EQ, EXPECT_GT, EXPECT_TRUE, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::findAt(), genVal(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::ahm_iterator< ContT, IterVal, SubIt >::getIndex(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), int32_t, m, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::numSubMaps(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size(), and uint64_t.
TEST | ( | Ahm | , |
iterator | |||
) |
Definition at line 246 of file AtomicHashMapTest.cpp.
References count, EXPECT_EQ, EXPECT_TRUE, FOR_EACH, genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), and m.
TEST | ( | Ahm | , |
counter | |||
) |
Definition at line 303 of file AtomicHashMapTest.cpp.
References c, EXPECT_EQ, EXPECT_NE, FOR_EACH_RANGE, Counters::getValue(), i, Counters::increment(), folly::pushmi::detail::t, threads, Counters::toString(), and val.
TEST | ( | Ahm | , |
map_exception_safety | |||
) |
Definition at line 349 of file AtomicHashMapTest.cpp.
References count, EXPECT_EQ, EXPECT_TRUE, genVal(), i, and m.
TEST | ( | Ahm | , |
basicErase | |||
) |
Definition at line 371 of file AtomicHashMapTest.cpp.
References folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::count(), folly::BenchmarkSuspender::dismiss(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::erase(), EXPECT_EQ, EXPECT_TRUE, genVal(), globalAHA(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), int64_t, folly::hash::jenkins_rev_mix32(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::numSubMaps(), s, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size(), and threads.
TEST | ( | Ahm | , |
collision_test | |||
) |
Definition at line 470 of file AtomicHashMapTest.cpp.
References folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::begin(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::capacity(), config, count, folly::test::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), EXPECT_EQ, EXPECT_FALSE, EXPECT_TRUE, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), nowInUsec(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::numSubMaps(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size(), and start.
TEST | ( | Ahm | , |
race_insert_iterate_thread_test | |||
) |
Definition at line 564 of file AtomicHashMapTest.cpp.
References config, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::count(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::erase(), genVal(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::numSubMaps(), and folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size().
TEST | ( | Ahm | , |
thread_erase_insert_race | |||
) |
Definition at line 644 of file AtomicHashMapTest.cpp.
References config, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::empty(), EXPECT_EQ, EXPECT_TRUE, i, int64_t, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::numSubMaps(), and folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size().
TEST | ( | Ahm | , |
atomic_hash_array_insert_race | |||
) |
Definition at line 691 of file AtomicHashMapTest.cpp.
References atomicHashArrayInsertRaceArray, atomicHashArrayInsertRaceThread(), folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::clear(), EXPECT_EQ, EXPECT_GE, i, and folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size().
TEST | ( | Ahm | , |
erase_find_race | |||
) |
Definition at line 707 of file AtomicHashMapTest.cpp.
References ASSERT_EQ, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::erase(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), k, map(), and uint64_t.
TEST | ( | Ahm | , |
erase_after_insert_race | |||
) |
Definition at line 745 of file AtomicHashMapTest.cpp.
References folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::erase(), i, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), map(), folly::pushmi::detail::t, and uint64_t.
TEST | ( | Ahm | , |
iterator_skips_empty_submaps | |||
) |
Definition at line 773 of file AtomicHashMapTest.cpp.
References ASSERT_EQ, ASSERT_NE, config, folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::create(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::end(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::erase(), EXPECT_EQ, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), globalAHA(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insert(), map(), maxBMElements, nowInUsec(), qpConfig, folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::size(), start, and uint64_t.
auto atomicHashArrayInsertRaceArray = AHA::create(2, configRace) |
Definition at line 677 of file AtomicHashMapTest.cpp.
Referenced by atomicHashArrayInsertRaceThread(), and TEST().
AHArrayT::Config config |
Definition at line 106 of file AtomicHashMapTest.cpp.
Referenced by BENCHMARK(), cmake_minimum_required(), folly::initializeLoggerDB(), folly::initLogging(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::insertInternal(), folly::StandardLogHandler::StandardLogHandler(), and TEST().
AHA::Config configRace |
Definition at line 676 of file AtomicHashMapTest.cpp.
AHMCstrInt::Config cstrIntCfg |
Definition at line 154 of file AtomicHashMapTest.cpp.
|
static |
Definition at line 110 of file AtomicHashMapTest.cpp.
|
static |
Definition at line 111 of file AtomicHashMapTest.cpp.
KeyT k |
Definition at line 1010 of file AtomicHashMapTest.cpp.
Referenced by testing::gmock_generated_actions_test::ACTION_P3(), testing::gmock_generated_actions_test::ACTION_TEMPLATE(), folly::compression::EliasFanoEncoderV2< Value, SkipValue, kSkipQuantum, kForwardQuantum >::add(), detail::addHashBenchmark(), folly::ConcurrentSkipList< T, Comp, NodeAlloc, MAX_HEIGHT >::addOrGetData(), folly::detail::FingerprintPolynomial< BITS-1 >::addXk(), folly::ConcurrentHashMap< KeyType, ValueType, HashFn, KeyEqual, Allocator, ShardBits, Atom, Mutex >::assign(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::assign(), folly::ConcurrentHashMap< KeyType, ValueType, HashFn, KeyEqual, Allocator, ShardBits, Atom, Mutex >::assign_if_equal(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::assign_if_equal(), folly::dynamic::at(), BENCHMARK(), benchmarkSet(), detail::bmHasher(), check_select64_default(), check_select64_haswell(), checkMaybeCoercedKeys(), codeSize_bracket_F14Node(), codeSize_bracket_F14Value(), codeSize_bracket_F14Vector(), codeSize_bracket_Std(), std::tr1::gtest_internal::Get< 9 >::ConstField(), folly::DynamicConverter< Token >::convert(), std::tr1::tuple< T0, T1, T2, T3, T4, T5, T6, T7, T8, T9 >::CopyFrom(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::emplace(), folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::emplace(), std::tr1::gtest_internal::SameSizeTuplePrefixComparator< k, k >::Eq(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::find(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::find(), folly::AtomicHashMap< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::findInternal(), std::tr1::get(), folly::dynamic::get_ptr(), folly::dynamic::getDefault(), testing::gmock_generated_actions_test::GiantTemplate< T1, T2, T3, k4, k5, k6, T7, T8, T9 >::GiantTemplate(), testing::GTEST_CONCAT_TOKEN_(), folly::ConcurrentHashMap< KeyType, ValueType, HashFn, KeyEqual, Allocator, ShardBits, Atom, Mutex >::insert(), folly::AtomicHashMap< int64_t, int64_t >::insert(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::insert(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::insert_internal(), folly::ConcurrentHashMap< KeyType, ValueType, HashFn, KeyEqual, Allocator, ShardBits, Atom, Mutex >::insert_or_assign(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::insert_or_assign(), testing::InvokeArgument(), testing::internal::invoke_argument::InvokeArgumentAdl(), folly::AtomicHashArray< KeyT, ValueT, HashFcn, EqualFcn, Allocator, ProbeFcn, KeyConvertFcn >::keyToAnchorIdx(), main(), testing::gmock_generated_function_mockers_test::MockFoo::MockFoo(), folly::detail::FingerprintPolynomial< BITS-1 >::mulXkmod(), folly::AsciiCaseInsensitive::operator()(), folly::F14VectorSet< Key, Hasher, KeyEqual, Alloc >::operator=(), folly::dynamic::operator[](), folly::DynamicParser::ParserStack::ParserStack(), testing::internal::InvokeMethodAction< Class, MethodPtr >::Perform(), testing::gmock_generated_actions_test::SubstractAction::Perform(), folly::ConcurrentHashMap< KeyType, ValueType, HashFn, KeyEqual, Allocator, ShardBits, Atom, Mutex >::pickSegment(), folly::DynamicParser::ParserStack::push(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::rehash(), folly::ConcurrentSkipList< T, Comp, NodeAlloc, MAX_HEIGHT >::remove(), folly::futures::detail::retrying(), Random::Rot64(), folly::hash::SpookyHashV1::Rot64(), folly::hash::SpookyHashV2::Rot64(), runInThreadsAndWait(), runSingleInsert(), folly::select64< compression::instructions::Haswell >(), folly::dynamic::setDefault(), testing::gmock_generated_actions_test::TenArgConstructorClass::TenArgConstructorClass(), folly::test::TEST(), TEST(), folly::detail::TEST_F(), TEST_F(), TestAlignment(), TestDeltas(), folly::ConcurrentHashMap< KeyType, ValueType, HashFn, KeyEqual, Allocator, ShardBits, Atom, Mutex >::try_emplace(), folly::detail::ConcurrentHashMapSegment< KeyType, ValueType, ShardBits, HashFn, KeyEqual, Allocator, Atom, Mutex >::try_emplace(), folly::detail::concurrenthashmap::ValueHolder< KeyType, ValueType, Allocator, std::enable_if_t< !std::is_nothrow_copy_constructible< ValueType >::value||!std::is_nothrow_copy_constructible< KeyType >::value > >::ValueHolder(), and testing::gmock_generated_function_mockers_test::FooInterface::~FooInterface().
const double LF = FLAGS_maxLoadFactor / FLAGS_targetLoadFactor |
Definition at line 42 of file AtomicHashMapTest.cpp.
Referenced by BENCHMARK().
const int maxBMElements = int(FLAGS_numBMElements * LF) |
Definition at line 43 of file AtomicHashMapTest.cpp.
Referenced by TEST().
QPAHMapT::Config qpConfig |
Definition at line 108 of file AtomicHashMapTest.cpp.
Referenced by BENCHMARK(), and TEST().