summaryrefslogtreecommitdiff
path: root/src/mongo/db/namespace_string_bm.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/namespace_string_bm.cpp')
-rw-r--r--src/mongo/db/namespace_string_bm.cpp22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/mongo/db/namespace_string_bm.cpp b/src/mongo/db/namespace_string_bm.cpp
index 0a1f1448841..4a6799e92bb 100644
--- a/src/mongo/db/namespace_string_bm.cpp
+++ b/src/mongo/db/namespace_string_bm.cpp
@@ -97,6 +97,24 @@ void BM_CreateLongNsFromConstexpr(benchmark::State& state) {
}
}
+void BM_NamespaceStringShortDbName(benchmark::State& state) {
+ const auto dbName = "short"_sd;
+ NamespaceString ns = makeNS(dbName, kMapCollName);
+
+ for (auto _ : state) {
+ benchmark::DoNotOptimize(ns.dbName());
+ }
+}
+
+void BM_NamespaceStringLongDbName(benchmark::State& state) {
+ const std::string dbName(60, 'x');
+ NamespaceString ns = makeNS(dbName, kMapCollName);
+
+ for (auto _ : state) {
+ benchmark::DoNotOptimize(ns.dbName());
+ }
+}
+
void searchInMap(benchmark::State& state, const NamespaceString& ns) {
immutable::map<DatabaseName, std::shared_ptr<int>> dbMap;
@@ -149,6 +167,10 @@ BENCHMARK(BM_CreateShortNsFromConstexpr);
BENCHMARK(BM_CreateLongNsFromConstexpr);
+BENCHMARK(BM_NamespaceStringShortDbName);
+
+BENCHMARK(BM_NamespaceStringLongDbName);
+
BENCHMARK(BM_NamespaceStringShortDbNameMapLookupExist);
BENCHMARK(BM_NamespaceStringLongDbNameMapLookupExist);