[RFC,v2,03/16] apps: common: event_loop: Use `std::deque` instead of `std::list`
diff mbox series

Message ID 20250114182143.1773762-4-pobrn@protonmail.com
State New
Headers show
Series
  • apps: lc-compliance: Multi-stream tests
Related show

Commit Message

Barnabás Pőcze Jan. 14, 2025, 6:22 p.m. UTC
Deque has fast pop_front and push_back operations while making
fewer allocations for the same number of elements as an `std::list`.
So use an `std::deque` for storing the deferred calls of the loop.

Signed-off-by: Barnabás Pőcze <pobrn@protonmail.com>
---
 src/apps/common/event_loop.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch
diff mbox series

diff --git a/src/apps/common/event_loop.h b/src/apps/common/event_loop.h
index 4e8dd0a46..760075885 100644
--- a/src/apps/common/event_loop.h
+++ b/src/apps/common/event_loop.h
@@ -8,6 +8,7 @@ 
 #pragma once
 
 #include <chrono>
+#include <deque>
 #include <functional>
 #include <list>
 #include <memory>
@@ -63,7 +64,8 @@  private:
 	struct event_base *base_;
 	int exitCode_;
 
-	std::list<std::function<void()>> calls_;
+	std::deque<std::function<void()>> calls_;
+
 	std::list<std::unique_ptr<Event>> events_;
 	std::mutex lock_;