]> git.ipfire.org Git - thirdparty/pdns.git/commitdiff
lmdb-safe: Use unordered maps for the transaction maps 15735/head
authorRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 27 Jun 2025 10:15:48 +0000 (12:15 +0200)
committerRemi Gacogne <remi.gacogne@powerdns.com>
Fri, 27 Jun 2025 10:15:48 +0000 (12:15 +0200)
We don't need the maps to be ordered, and unordered maps are usually
slightly faster.

Signed-off-by: Remi Gacogne <remi.gacogne@powerdns.com>
ext/lmdb-safe/lmdb-safe.hh

index 80f4f408a4fd49bd02c40cfbf4906cda0cc48d7f..049311a502c1e911ba40e730cf71a0f9ab57f832 100644 (file)
@@ -5,7 +5,7 @@
 #include <stdexcept>
 #include <string_view>
 #include <lmdb.h>
-#include <map>
+#include <unordered_map>
 #include <thread>
 #include <memory>
 #include <string>
@@ -116,8 +116,8 @@ public:
 private:
   std::mutex d_openmut;
   std::shared_mutex d_countmutex;
-  std::map<std::thread::id, std::atomic<int>> d_RWtransactionsOut;
-  std::map<std::thread::id, std::atomic<int>> d_ROtransactionsOut;
+  std::unordered_map<std::thread::id, std::atomic<int>> d_RWtransactionsOut;
+  std::unordered_map<std::thread::id, std::atomic<int>> d_ROtransactionsOut;
 };
 
 std::shared_ptr<MDBEnv> getMDBEnv(const char* fname, int flags, int mode, uint64_t mapsizeMB);