From 0e6a25fdd8d788263b2cf8fc721c07adb9616582 Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Sat, 1 May 2021 15:04:56 +0200 Subject: [PATCH] Directly compare time, with data piggybacked in low bits. --- server/TracyWorker.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/server/TracyWorker.cpp b/server/TracyWorker.cpp index b6995498..849bca68 100644 --- a/server/TracyWorker.cpp +++ b/server/TracyWorker.cpp @@ -2028,7 +2028,8 @@ void Worker::GetCpuUsageAtTime( int64_t time, int& own, int& other ) const // Remove this check when real-time ctxUsage contruction is implemented. if( !m_data.ctxUsage.empty() ) { - auto it = std::upper_bound( m_data.ctxUsage.begin(), m_data.ctxUsage.end(), time, [] ( const auto& l, const auto& r ) { return l < r.Time(); } ); + const auto test = ( time << 16 ) | 0xFFFF; + auto it = std::upper_bound( m_data.ctxUsage.begin(), m_data.ctxUsage.end(), test, [] ( const auto& l, const auto& r ) { return l < r._time_other_own; } ); if( it == m_data.ctxUsage.begin() || it == m_data.ctxUsage.end() ) return; --it; own = it->Own();