From e8336a34bfda804170bdcc2e11c47736bfe3ca36 Mon Sep 17 00:00:00 2001 From: Ubuntu Date: Tue, 7 Feb 2023 18:59:11 +0000 Subject: [PATCH 1/2] experiment: use std::unordered_map in Looper instead of std::map --- src/include/core/looper.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/include/core/looper.h b/src/include/core/looper.h index 46687a2..c62fc0e 100644 --- a/src/include/core/looper.h +++ b/src/include/core/looper.h @@ -15,7 +15,7 @@ #include #include #include // NOLINT -#include +#include #include #include // NOLINT @@ -59,7 +59,7 @@ class Looper { private: std::unique_ptr poller_; std::mutex mtx_; - std::map> connections_; + std::unordered_map> connections_; bool exit_{false}; }; } // namespace TURTLE_SERVER From 0346b9a00f9e1298e6f3805ea8c8fe4a6071ed4c Mon Sep 17 00:00:00 2001 From: YukunJ Date: Thu, 16 Feb 2023 16:52:47 -0500 Subject: [PATCH 2/2] experiment: boost::unordered_flag_map --- CMakeLists.txt | 3 ++- src/include/core/connection.h | 1 - src/include/core/looper.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4f6bd24..c735859 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,7 +31,8 @@ ENDIF() # Find the required thread package on the platform SET(THREADS_PREFER_PTHREAD_FLAG ON) FIND_PACKAGE(Threads REQUIRED) - +FIND_PACKAGE(Boost REQUIRED) +include_directories(${Boost_INCLUDE_DIRS}) # Formatting utility search path set(TURTLE_SERVER_BUILD_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/build_support") set(TURTLE_SERVER_CLANG_SEARCH_PATH "/usr/local/bin" "/usr/bin" "/usr/local/opt/llvm/bin" "/usr/local/opt/llvm@8/bin" "/usr/local/Cellar/llvm/8.0.1/bin") diff --git a/src/include/core/connection.h b/src/include/core/connection.h index 362c9bc..7460f72 100644 --- a/src/include/core/connection.h +++ b/src/include/core/connection.h @@ -17,7 +17,6 @@ #include #include #include - #include "core/buffer.h" #include "core/socket.h" #include "core/utils.h" diff --git a/src/include/core/looper.h b/src/include/core/looper.h index 3f5707f..206fdf6 100644 --- a/src/include/core/looper.h +++ b/src/include/core/looper.h @@ -16,6 +16,7 @@ #include #include // NOLINT #include +#include #include #include // NOLINT @@ -59,7 +60,7 @@ class Looper { private: std::unique_ptr poller_; std::mutex mtx_; - std::unordered_map> connections_; + boost::unordered_flat_map> connections_; bool exit_{false}; }; } // namespace TURTLE_SERVER