From 3ad7eec9de119afa6f5ca2db073070a8cdf62f69 Mon Sep 17 00:00:00 2001 From: Merry Date: Wed, 13 Sep 2023 22:49:41 +0100 Subject: core_timing: Use a fibonacci heap --- src/core/core_timing.h | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'src/core/core_timing.h') diff --git a/src/core/core_timing.h b/src/core/core_timing.h index c20e906fb..26a8b93a7 100644 --- a/src/core/core_timing.h +++ b/src/core/core_timing.h @@ -11,7 +11,8 @@ #include #include #include -#include + +#include #include "common/common_types.h" #include "common/thread.h" @@ -151,11 +152,10 @@ private: s64 timer_resolution_ns; #endif - // The queue is a min-heap using std::make_heap/push_heap/pop_heap. - // We don't use std::priority_queue because we need to be able to serialize, unserialize and - // erase arbitrary events (RemoveEvent()) regardless of the queue order. These aren't - // accommodated by the standard adaptor class. - std::vector event_queue; + using heap_t = + boost::heap::fibonacci_heap>>; + + heap_t event_queue; u64 event_fifo_id = 0; std::shared_ptr ev_lost; -- cgit v1.2.3