proxygen
StringKeyedBenchmark.cpp File Reference
#include <folly/Benchmark.h>
#include <folly/Conv.h>
#include <folly/Range.h>
#include <map>
#include <set>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <folly/experimental/StringKeyedMap.h>
#include <folly/experimental/StringKeyedSet.h>
#include <folly/experimental/StringKeyedUnorderedMap.h>
#include <folly/experimental/StringKeyedUnorderedSet.h>

Go to the source code of this file.

Functions

static void initBenchmarks ()
 
 BENCHMARK (std_map_benchmark_find_native)
 
 BENCHMARK_RELATIVE (std_map_benchmark_find_cross)
 
 BENCHMARK_RELATIVE (sk_map_benchmark_find_native)
 
 BENCHMARK_RELATIVE (sk_map_benchmark_find_cross)
 
 BENCHMARK (std_map_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (std_map_benchmark_erase_emplace_cross)
 
 BENCHMARK_RELATIVE (sk_map_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (sk_map_benchmark_erase_emplace_cross)
 
 BENCHMARK (std_unordered_map_benchmark_find_native)
 
 BENCHMARK_RELATIVE (std_unordered_map_benchmark_find_cross)
 
 BENCHMARK_RELATIVE (sk_unordered_map_benchmark_find_native)
 
 BENCHMARK_RELATIVE (sk_unordered_map_benchmark_find_cross)
 
 BENCHMARK (std_unordered_map_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (std_unordered_map_benchmark_erase_emplace_cross)
 
 BENCHMARK_RELATIVE (sk_unordered_map_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (sk_unordered_map_benchmark_erase_emplace_cross)
 
 BENCHMARK_DRAW_LINE ()
 
 BENCHMARK (std_set_benchmark_find_native)
 
 BENCHMARK_RELATIVE (std_set_benchmark_find_cross)
 
 BENCHMARK_RELATIVE (sk_set_benchmark_find_native)
 
 BENCHMARK_RELATIVE (sk_set_benchmark_find_cross)
 
 BENCHMARK (std_set_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (std_set_benchmark_erase_emplace_cross)
 
 BENCHMARK_RELATIVE (sk_set_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (sk_set_benchmark_erase_emplace_cross)
 
 BENCHMARK (std_unordered_set_benchmark_find_native)
 
 BENCHMARK (std_unordered_set_benchmark_find_cross)
 
 BENCHMARK_RELATIVE (sk_unordered_set_benchmark_find_native)
 
 BENCHMARK_RELATIVE (sk_unordered_set_benchmark_find_cross)
 
 BENCHMARK (std_unordered_set_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (std_unordered_set_benchmark_erase_emplace_cross)
 
 BENCHMARK_RELATIVE (sk_unordered_set_benchmark_erase_emplace_native)
 
 BENCHMARK_RELATIVE (sk_unordered_set_benchmark_erase_emplace_cross)
 
int main (int argc, char **argv)
 

Variables

static map< string, int > m
 
static StringKeyedMap< int > skm
 
static set< strings
 
static StringKeyedSet sks
 
static unordered_map< string, int > um
 
static StringKeyedUnorderedMap< int > skum
 
static unordered_set< stringus
 
static StringKeyedUnorderedSet skus
 
static const std::string lookup = "1234567890abcdefghijklmnopqrstuvwxyz"s
 
static const folly::StringPiece lookupPiece
 

Function Documentation

BENCHMARK ( std_map_benchmark_find_native  )

Definition at line 93 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookup.

93  {
94  folly::doNotOptimizeAway(m.find(lookup)->second);
95 }
static map< string, int > m
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK ( std_map_benchmark_erase_emplace_native  )

Definition at line 115 of file StringKeyedBenchmark.cpp.

References lookup.

115  {
116  m.erase(lookup);
117  m.emplace(lookup, 123);
118 }
static map< string, int > m
static const std::string lookup
BENCHMARK ( std_unordered_map_benchmark_find_native  )

Definition at line 135 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookup.

135  {
136  folly::doNotOptimizeAway(um.find(lookup)->second);
137 }
static unordered_map< string, int > um
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK ( std_unordered_map_benchmark_erase_emplace_native  )

Definition at line 151 of file StringKeyedBenchmark.cpp.

References lookup.

151  {
152  um.erase(lookup);
153  um.emplace(lookup, 123);
154 }
static unordered_map< string, int > um
static const std::string lookup
BENCHMARK ( std_set_benchmark_find_native  )

Definition at line 173 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookup.

173  {
175 }
static const std::string lookup
static set< string > s
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK ( std_set_benchmark_erase_emplace_native  )

Definition at line 195 of file StringKeyedBenchmark.cpp.

References lookup.

195  {
196  s.erase(lookup);
197  s.emplace(lookup);
198 }
static const std::string lookup
static set< string > s
BENCHMARK ( std_unordered_set_benchmark_find_native  )

Definition at line 215 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookup.

215  {
217 }
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
static unordered_set< string > us
BENCHMARK ( std_unordered_set_benchmark_find_cross  )

Definition at line 219 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookupPiece, and folly::Range< Iter >::str().

219  {
221 }
std::string str() const
Definition: Range.h:591
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
static unordered_set< string > us
BENCHMARK ( std_unordered_set_benchmark_erase_emplace_native  )

Definition at line 231 of file StringKeyedBenchmark.cpp.

References lookup.

231  {
232  us.erase(lookup);
233  us.emplace(lookup);
234 }
static const std::string lookup
static unordered_set< string > us
BENCHMARK_DRAW_LINE ( )

Referenced by BENCHMARK_RELATIVE().

BENCHMARK_RELATIVE ( std_map_benchmark_find_cross  )

Definition at line 97 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookupPiece, and folly::Range< Iter >::str().

Referenced by BENCHMARK_RELATIVE().

97  {
98  folly::doNotOptimizeAway(m.find(lookupPiece.str())->second);
99 }
std::string str() const
Definition: Range.h:591
static map< string, int > m
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_map_benchmark_find_native  )

Definition at line 107 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookupPiece.

107  {
109 }
static StringKeyedMap< int > skm
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_map_benchmark_find_cross  )

Definition at line 111 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookup.

111  {
112  folly::doNotOptimizeAway(skm.find(lookup)->second);
113 }
static StringKeyedMap< int > skm
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( std_map_benchmark_erase_emplace_cross  )

Definition at line 120 of file StringKeyedBenchmark.cpp.

References lookupPiece, and folly::Range< Iter >::str().

120  {
121  m.erase(lookupPiece.str());
122  m.emplace(lookupPiece.str(), 123);
123 }
std::string str() const
Definition: Range.h:591
static map< string, int > m
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_map_benchmark_erase_emplace_native  )

Definition at line 125 of file StringKeyedBenchmark.cpp.

References folly::StringKeyedMap< Value, Compare, Alloc >::emplace(), folly::StringKeyedMap< Value, Compare, Alloc >::erase(), and lookupPiece.

125  {
126  skm.erase(lookupPiece);
127  skm.emplace(lookupPiece, 123);
128 }
static StringKeyedMap< int > skm
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_map_benchmark_erase_emplace_cross  )

Definition at line 130 of file StringKeyedBenchmark.cpp.

References folly::StringKeyedMap< Value, Compare, Alloc >::emplace(), folly::StringKeyedMap< Value, Compare, Alloc >::erase(), and lookup.

130  {
131  skm.erase(lookup);
132  skm.emplace(lookup, 123);
133 }
static StringKeyedMap< int > skm
static const std::string lookup
BENCHMARK_RELATIVE ( std_unordered_map_benchmark_find_cross  )

Definition at line 139 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookupPiece, and folly::Range< Iter >::str().

139  {
140  folly::doNotOptimizeAway(um.find(lookupPiece.str())->second);
141 }
std::string str() const
Definition: Range.h:591
static unordered_map< string, int > um
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_unordered_map_benchmark_find_native  )

Definition at line 143 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookupPiece.

143  {
145 }
static StringKeyedUnorderedMap< int > skum
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_unordered_map_benchmark_find_cross  )

Definition at line 147 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), and lookup.

147  {
148  folly::doNotOptimizeAway(skum.find(lookup)->second);
149 }
static StringKeyedUnorderedMap< int > skum
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( std_unordered_map_benchmark_erase_emplace_cross  )

Definition at line 156 of file StringKeyedBenchmark.cpp.

References lookupPiece, and folly::Range< Iter >::str().

156  {
157  um.erase(lookupPiece.str());
158  um.emplace(lookupPiece.str(), 123);
159 }
std::string str() const
Definition: Range.h:591
static unordered_map< string, int > um
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_unordered_map_benchmark_erase_emplace_native  )

Definition at line 161 of file StringKeyedBenchmark.cpp.

References lookupPiece.

161  {
162  skum.erase(lookupPiece);
163  skum.emplace(lookupPiece, 123);
164 }
static StringKeyedUnorderedMap< int > skum
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_unordered_map_benchmark_erase_emplace_cross  )

Definition at line 166 of file StringKeyedBenchmark.cpp.

References BENCHMARK_DRAW_LINE(), and lookup.

166  {
167  skum.erase(lookup);
168  skum.emplace(lookup, 123);
169 }
static StringKeyedUnorderedMap< int > skum
static const std::string lookup
BENCHMARK_RELATIVE ( std_set_benchmark_find_cross  )

Definition at line 177 of file StringKeyedBenchmark.cpp.

References BENCHMARK_RELATIVE(), folly::doNotOptimizeAway(), lookupPiece, and folly::Range< Iter >::str().

177  {
179 }
std::string str() const
Definition: Range.h:591
static set< string > s
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_set_benchmark_find_native  )

Definition at line 187 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookupPiece, and sks.

187  {
189 }
static StringKeyedSet sks
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_set_benchmark_find_cross  )

Definition at line 191 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookup, and sks.

191  {
193 }
static StringKeyedSet sks
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( std_set_benchmark_erase_emplace_cross  )

Definition at line 200 of file StringKeyedBenchmark.cpp.

References lookupPiece, and folly::Range< Iter >::str().

200  {
201  s.erase(lookupPiece.str());
202  s.emplace(lookupPiece.str());
203 }
std::string str() const
Definition: Range.h:591
static set< string > s
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_set_benchmark_erase_emplace_native  )

Definition at line 205 of file StringKeyedBenchmark.cpp.

References lookupPiece, and sks.

205  {
206  sks.erase(lookupPiece);
207  sks.emplace(lookupPiece);
208 }
static StringKeyedSet sks
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_set_benchmark_erase_emplace_cross  )

Definition at line 210 of file StringKeyedBenchmark.cpp.

References lookup, and sks.

210  {
211  sks.erase(lookup);
212  sks.emplace(lookup);
213 }
static StringKeyedSet sks
static const std::string lookup
BENCHMARK_RELATIVE ( sk_unordered_set_benchmark_find_native  )

Definition at line 223 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookupPiece, and skus.

223  {
225 }
static StringKeyedUnorderedSet skus
static const folly::StringPiece lookupPiece
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( sk_unordered_set_benchmark_find_cross  )

Definition at line 227 of file StringKeyedBenchmark.cpp.

References folly::doNotOptimizeAway(), lookup, and skus.

227  {
229 }
static StringKeyedUnorderedSet skus
static const std::string lookup
auto doNotOptimizeAway(const T &datum) -> typename std::enable_if< !detail::DoNotOptimizeAwayNeedsIndirect< T >::value >::type
Definition: Benchmark.h:258
BENCHMARK_RELATIVE ( std_unordered_set_benchmark_erase_emplace_cross  )

Definition at line 236 of file StringKeyedBenchmark.cpp.

References lookupPiece, and folly::Range< Iter >::str().

236  {
237  us.erase(lookupPiece.str());
238  us.emplace(lookupPiece.str());
239 }
std::string str() const
Definition: Range.h:591
static const folly::StringPiece lookupPiece
static unordered_set< string > us
BENCHMARK_RELATIVE ( sk_unordered_set_benchmark_erase_emplace_native  )

Definition at line 241 of file StringKeyedBenchmark.cpp.

References lookupPiece, and skus.

241  {
242  skus.erase(lookupPiece);
243  skus.emplace(lookupPiece);
244 }
static StringKeyedUnorderedSet skus
static const folly::StringPiece lookupPiece
BENCHMARK_RELATIVE ( sk_unordered_set_benchmark_erase_emplace_cross  )

Definition at line 246 of file StringKeyedBenchmark.cpp.

References lookup, and skus.

246  {
247  skus.erase(lookup);
248  skus.emplace(lookup);
249 }
static StringKeyedUnorderedSet skus
static const std::string lookup
static void initBenchmarks ( )
static

Definition at line 71 of file StringKeyedBenchmark.cpp.

References i, lookup, sks, and skus.

Referenced by main().

71  {
72  for (int i = 0; i < 1000; ++i) {
73  auto iStr = to<string>(i);
74  m[iStr] = i;
75  s.insert(iStr);
76  }
77  m.insert(make_pair(lookup, 0));
78  s.insert(lookup);
79 
80  skm = decltype(skm){m.begin(), m.end()};
81  um = decltype(um){m.begin(), m.end()};
82  skum = decltype(skum){m.begin(), m.end()};
83 
84  sks = decltype(sks){s.begin(), s.end()};
85  us = decltype(us){s.begin(), s.end()};
86  skus = decltype(skus){s.begin(), s.end()};
87 #if FOLLY_HAVE_COMPARE_EQUIVALENT
88  m_equiv = decltype(m_equiv){m.begin(), m.end()};
89  s_equiv = decltype(s_equiv){s.begin(), s.end()};
90 #endif
91 }
static StringKeyedUnorderedMap< int > skum
static unordered_map< string, int > um
static StringKeyedSet sks
static StringKeyedMap< int > skm
static map< string, int > m
static StringKeyedUnorderedSet skus
static const std::string lookup
static set< string > s
static unordered_set< string > us
int main ( int  argc,
char **  argv 
)

Definition at line 251 of file StringKeyedBenchmark.cpp.

References initBenchmarks(), and folly::runBenchmarks().

251  {
252  gflags::ParseCommandLineFlags(&argc, &argv, true);
253  initBenchmarks();
255 }
static void initBenchmarks()
void runBenchmarks()
Definition: Benchmark.cpp:456
char ** argv

Variable Documentation

const std::string lookup = "1234567890abcdefghijklmnopqrstuvwxyz"s
static

Definition at line 54 of file StringKeyedBenchmark.cpp.

Referenced by BENCHMARK(), BENCHMARK_RELATIVE(), and initBenchmarks().

const folly::StringPiece lookupPiece
static
Initial value:
{
"1234567890abcdefghijklmnopqrstuvwxyz"}

Definition at line 55 of file StringKeyedBenchmark.cpp.

Referenced by BENCHMARK(), and BENCHMARK_RELATIVE().

map<string, int> m
static

Definition at line 46 of file StringKeyedBenchmark.cpp.

Referenced by testing::gmock_generated_actions_test::ACTION_P3(), testing::internal::FunctionMockerBase< R(A1, A2)>::AddNewExpectation(), testing::internal::FunctionMockerBase< R(A1, A2)>::AddNewOnCallSpec(), BENCHMARK(), folly::bitReverse(), folly::F14TableStats::computeHelper(), count_parsed_messages(), testing::gmock_matchers_test::EvenMatcherImpl::DescribeTo(), testing::gmock_matchers_test::NewEvenMatcherImpl::DescribeTo(), testing::internal::XmlUnitTestResultPrinter::EscapeXml(), testing::internal::XmlUnitTestResultPrinter::EscapeXmlText(), header_field_cb(), header_value_cb(), http_method_str(), testing::gmock_matchers_test::Type< T >::IsTypeOf(), testing::gmock_matchers_test::GreaterThanMatcher::MatchAndExplain(), testing::internal::BoundSecondMatcher< Tuple2Matcher, Second >::Impl< T >::MatchAndExplain(), message_eq(), testing::internal::NoDefaultContructor::NoDefaultContructor(), testing::Not(), StubLogger::operator()(), std::hash< TestStruct >::operator()(), testing::gmock_generated_actions_test::SubstractAction::Perform(), runFairness(), runScopedAllocatorTest(), runSimpleMapTest(), runTest(), runTestTag(), folly::detail::str_to_integral(), folly::TEST(), testing::gmock_matchers_test::TEST(), testing::gmock_generated_actions_test::TEST(), TEST(), testing::internal::TEST(), TEST_F(), proxygen::TEST_F(), folly::TEST_F(), testing::gmock_matchers_test::TEST_F(), test_I_copyWithAllocator3(), test_I_customAllocator3(), test_I_forwardIteratorAllocConstruction3(), test_ilAllocConstruction3(), test_inputIteratorAllocConstruction3(), test_moveConstruction3(), test_moveConstructionWithAllocatorSupplied3(), test_nAllocConstruction3(), test_nCopyAllocConstruction3(), folly::sync_tests::testAcquireLocked(), folly::sync_tests::testAcquireLockedWithConst(), TestDeltas(), folly::sync_tests::testDualLocking(), folly::sync_tests::testDualLockingWithConst(), TestFile::toFileModData(), TYPED_TEST(), folly::test::DeterministicSchedule::uniformSubset(), TestFile::update(), upgrade_message_fix(), testing::internal::OnCallSpec< F >::With(), testing::internal::TypedExpectation< F >::With(), and folly::with_unique_lock().

set<string> s
static

Definition at line 48 of file StringKeyedBenchmark.cpp.

Referenced by accSize(), folly::detail::Bucket< ValueType >::add(), wangle::AsyncServerSocketFactory::addAcceptCB(), wangle::AsyncUDPServerSocketFactory::addAcceptCB(), folly::UnboundedQueue< T, false, 6 >::advanceHead(), folly::UnboundedQueue< T, false, 6 >::advanceHeadToTicket(), folly::UnboundedQueue< T, false, 6 >::advanceTail(), folly::UnboundedQueue< T, false, 6 >::advanceTailToTicket(), folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::allocIndex(), folly::pushmi::any_constrained_executor_ref< E, CV >::any_constrained_executor_ref(), folly::pushmi::any_constrained_single_sender< E, TP, VN... >::any_constrained_single_sender(), folly::pushmi::any_executor_ref< E >::any_executor_ref(), folly::pushmi::any_flow_many_sender< PE, PV, E, VN >::any_flow_many_sender(), folly::pushmi::any_flow_receiver< PE, PV, E, VN >::any_flow_receiver(), folly::pushmi::any_flow_single_sender< PE, E, VN >::any_flow_single_sender(), folly::pushmi::any_many_sender< E, VN >::any_many_sender(), folly::pushmi::any_receiver< E, folly::pushmi::any_executor_ref< E > >::any_receiver(), folly::pushmi::any_single_sender< E, VN >::any_single_sender(), folly::pushmi::any_time_executor_ref< E, TP >::any_time_executor_ref(), folly::BaseFormatter< Formatter< containerMode, Args... >, containerMode, Args... >::appendTo(), folly::gen::detail::StringResplitter::Generator< Source >::apply(), assignmentFill(), assignmentOp(), folly::test::DeterministicSchedule::beforeThreadCreate(), BENCHMARK(), BENCHMARK_RELATIVE(), benchmarkGet(), testing::gtest_printers_test::Big::Big(), folly::netops::bind(), folly::AsyncServerSocket::bind(), ConcurrentFlowManySender::cancellation_test(), folly::UnboundedQueue< T, false, 6 >::casHead(), folly::UnboundedQueue< T, false, 6 >::casTail(), testing::gmock_generated_actions_test::CharPtr(), testing::gmock_more_actions_test::CharPtr(), checkResplitMaxLength(), clause11_21_4_2_d(), clause11_21_4_2_e(), clause11_21_4_2_f(), clause11_21_4_2_i(), clause11_21_4_2_j(), clause11_21_4_2_k(), clause11_21_4_2_l(), clause11_21_4_3(), clause11_21_4_6_2(), clause11_21_4_6_3_a(), clause11_21_4_6_3_b(), clause11_21_4_6_3_c(), clause11_21_4_6_3_d(), clause11_21_4_6_3_e(), clause11_21_4_6_4(), clause11_21_4_6_6(), clause11_21_4_6_8(), clause11_21_4_7_1(), clause11_21_4_7_9_a(), clause11_21_4_7_9_b(), clause11_21_4_7_9_d(), clause11_21_4_8_1_e(), clause11_21_4_8_1_f(), clause11_21_4_8_1_g(), clause11_21_4_8_1_h(), clause11_21_4_8_1_i(), clause11_21_4_8_1_j(), clause11_21_4_8_1_k(), clause11_21_4_8_1_l(), folly::UnboundedQueue< T, false, 6 >::cleanUpRemainingItems(), clearenv(), cmake_minimum_required(), folly::LogName::cmp(), folly::collectN(), testing::gmock_more_actions_test::Foo::Concat10(), folly::SSLServerAcceptCallback::connAccepted(), folly::SSLServerAcceptCallbackDelay::connAccepted(), folly::SSLServerAsyncCacheAcceptCallback::connAccepted(), folly::HandshakeErrorCallback::connAccepted(), folly::HandshakeTimeoutCallback::connAccepted(), folly::ConnectTimeoutCallback::connAccepted(), folly::netops::connect(), folly::SSLServerAcceptCallbackBase::connectionAccepted(), fizz::extensions::Validator::constructECDSASig(), contend(), copyCtor(), folly::Random::create(), ZlibServerFilterTest::createResponseChain(), ctorFromArray(), ctorFromTwoPointers(), defaultCtor(), folly::UnboundedQueue< T, false, 6 >::dequeueCommon(), folly::UnboundedQueue< T, false, 6 >::dequeueImpl(), folly::AsyncServerSocket::destroy(), TestExtendingFormatter< containerMode, Args >::doFormatArg(), folly::pushmi::time_source_queue< E, TP, NF, Executor >::done(), folly::hazptr_obj_base_linked< NodeAuto< Atom >, Atom >::downgrade_retire_immutable_descendants(), duration_to_ts(), folly::portability::ssl::ECDSA_SIG_set0(), fizz::extensions::TokenBindingConstructor::encodeEcdsaSignature(), folly::encodeVarintSize(), folly::ProcessReturnCode::enforce(), folly::UnboundedQueue< T, false, 6 >::enqueueImpl(), folly::pushmi::entangle(), folly::pushmi::time_source_queue< E, TP, NF, Executor >::error(), fizz::test::ProtocolTest< ClientTypes, Actions >::expectEncryptedReadRecordLayerCreation(), fizz::test::ProtocolTest< ClientTypes, Actions >::expectEncryptedWriteRecordLayerCreation(), folly::BaseFormatter< Formatter< containerMode, Args... >, containerMode, Args... >::fbstr(), wangle::dn_char_traits::find(), folly::UnboundedQueue< T, false, 6 >::findSegment(), findSuccessful(), findUnsuccessful(), folly::hash::fnv32(), folly::hash::fnv64(), folly::UnboundedQueue< T, false, 6 >::getAllocNextSegment(), proxygen::HTTPTransactionEgressSMData::getInitialState(), proxygen::HTTPTransactionIngressSMData::getInitialState(), proxygen::HTTPTransactionEgressSMData::getName(), proxygen::HTTPTransactionIngressSMData::getName(), folly::netops::getpeername(), wangle::getSessions(), wangle::getSessionWithTicket(), proxygen::HTTPSettings::getSettingConstIter(), proxygen::HTTPSettings::getSettingIter(), folly::netops::getsockname(), folly::netops::getsockopt(), wangle::SSLUtil::getSubjectAltName(), folly::hash::hsieh_hash32(), folly::hash::hsieh_hash32_buf(), http_parse_host(), http_parser_parse_url(), proxygen::HTTPCommonHeadersInternal::in_word_set(), folly::FormatArg::initSlow(), folly::detail::internalSplit(), folly::test::IovecBuffers::IovecBuffers(), testing::gmock_matchers_test::DerivedClass::k(), fizz::KeyScheduler::KeyScheduler(), lifo_test(), Lines_Gen(), folly::netops::listen(), folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::localPop(), folly::IndexedMemPool< T, NumLocalLists_, LocalListLimit_, Atom, Traits >::localPush(), folly::detail::lock(), testing::internal::LogWithLocation(), main(), makeVectorOfWrappers(), testing::internal::ElementsAreMatcherImpl< Container >::MatchAndExplain(), testing::Matcher< const internal::string & >::Matcher(), testing::Matcher< internal::string >::Matcher(), memrchr(), MockFoo::MockFoo(), fizz::test::MockKeyScheduler::MockKeyScheduler(), testing::gtest_printers_test::Foo::MyVirtualMethod(), folly::pushmi::__adl::do_submit_fn::noexcept(), proxygen::SPDYCodec::onSettings(), testing::gmock_generated_actions_test::NullaryFunctor::operator()(), folly::BaseFormatter< Derived, containerMode, Args >::operator()(), testing::gmock_more_actions_test::VoidNullaryFunctor::operator()(), testing::gmock_generated_actions_test::SumOf6Functor::operator()(), StringIdenticalToBM< String >::operator()(), StringVariadicToBM< String >::operator()(), std::operator<<(), operator<<(), option(), parse_pause(), parse_url_char(), proxygen::parseHTTPDateTime(), testing::gmock_generated_actions_test::SubstractAction::Perform(), testing::gtest_printers_test::PrintPointer(), folly::printResultComparison(), std::chrono::PrintTo(), testing::internal::PrintTo(), folly::basic_fbstring< char >::procrustes(), push_back(), folly::detail::qfind_first_byte_of_bitset(), folly::detail::qfind_first_byte_of_byteset(), wangle::BroadcastHandler< T, R >::read(), wangle::BroadcastHandler< T, R >::readEOF(), wangle::BroadcastHandler< T, R >::readException(), folly::io::detail::CursorBase< Derived, BufType >::readWhile(), folly::Baton< MayBlock, Atom >::ready(), folly::UnboundedQueue< T, false, 6 >::reclaimRemainingSegments(), folly::UnboundedQueue< T, false, 6 >::reclaimSegment(), folly::netops::recv(), folly::netops::recvfrom(), folly::netops::recvmsg(), folly::hazptr_obj_base_linked< NodeAuto< Atom >, Atom >::release_delete_immutable_descendants(), folly::hazptr_obj_base_linked< NodeAuto< Atom >, Atom >::release_retire_mutable_children(), wangle::AsyncServerSocketFactory::removeAcceptCB(), replace(), resize(), folly::resizeWithoutInitialization(), folly::detail::rlock(), runSimpleSetTest(), folly::AsyncSocket::scheduleInitialReadWrite(), folly::Random::seed(), folly::select64(), folly::netops::send(), folly::netops::sendto(), folly::pushmi::__adl::set_value(), folly::UnboundedQueue< T, false, 6 >::setHead(), folly::fbstring_core< char >::setSmallSize(), folly::netops::setsockopt(), folly::ReadCallbackBase::setState(), folly::HandshakeCallback::setState(), folly::UnboundedQueue< T, false, 6 >::setTail(), fizz::server::test::AeadCookieCipherTest::SetUp(), folly::pushmi::shared_entangle(), short_append(), folly::netops::shutdown(), folly::test::IovecBuffers::size(), folly::skipWhitespace(), folly::test::WriteFileAtomic::statFile(), folly::BaseFormatter< Formatter< containerMode, Args... >, containerMode, Args... >::str(), stringPrintfOutputSize(), StringUnsplit_Gen(), folly::json::stripComments(), structTestFunc(), folly::pushmi::any_executor_ref< E >::submit(), inline_executor_flow_many::submit(), folly::pushmi::any_constrained_executor_ref< E, CV >::submit(), folly::pushmi::any_time_executor_ref< E, TP >::submit(), folly::SubprocessSpawnError::SubprocessSpawnError(), wangle::Observable< T >::subscribeOn(), folly::detail::EndianInt< T >::swap(), swmr_test(), folly::test::TEST(), TEST(), folly::TEST(), testing::gmock_generated_actions_test::TEST(), testing::gmock_more_actions_test::TEST(), testing::gtest_printers_test::TEST(), testing::gmock_matchers_test::TEST(), fizz::server::test::TEST_F(), TEST_F(), wangle::TEST_F(), fizz::test::TEST_F(), fizz::client::test::TEST_F(), testing::gmock_matchers_test::TEST_F(), test_I_dataRaces3(), testGetLoop(), testIdenticalTo(), testIdenticalToDelim(), testSetLoop(), testTraits(), testVariadicTo(), testVariadicToDelim(), time_single_sender_test(), folly::Histogram< T >::to_unsigned(), folly::toStdString(), folly::symbolizer::Dwarf::Path::toString(), folly::UnboundedQueue< T, false, 6 >::tryDequeueUntil(), folly::UnboundedQueue< T, false, 6 >::tryDequeueUntilMC(), folly::UnboundedQueue< T, false, 6 >::tryDequeueUntilSC(), folly::UnboundedQueue< T, false, 6 >::tryPeekUntil(), folly::Baton< MayBlock, Atom >::tryWaitSlow(), TYPED_TEST(), u2aAppendClassicBM(), u2aAppendFollyBM(), folly::detail::ulock(), testing::internal::UniversalPrintCharArray(), folly::pushmi::time_source_queue< E, TP, NF, Executor >::value(), wangle::SSLSessionPersistentCacheTest::verifyEntryInCache(), wide_cas_test(), folly::detail::wlock(), wangle::AsyncSocketHandler::~AsyncSocketHandler(), testing::gmock_more_actions_test::DeletionTester::~DeletionTester(), and folly::AtomicUnorderedInsertMap< Key, Value, Hash, KeyEqual, SkipKeyValueDeletion, Atom, IndexType, Allocator >::Slot::~Slot().

StringKeyedMap<int> skm
static

Definition at line 47 of file StringKeyedBenchmark.cpp.

StringKeyedSet sks
static

Definition at line 49 of file StringKeyedBenchmark.cpp.

Referenced by BENCHMARK_RELATIVE(), and initBenchmarks().

StringKeyedUnorderedMap<int> skum
static

Definition at line 51 of file StringKeyedBenchmark.cpp.

StringKeyedUnorderedSet skus
static

Definition at line 53 of file StringKeyedBenchmark.cpp.

Referenced by BENCHMARK_RELATIVE(), and initBenchmarks().

unordered_map<string, int> um
static

Definition at line 50 of file StringKeyedBenchmark.cpp.

unordered_set<string> us
static