From 9b4716c49eaf65d306fa808bb1680f956104c33b Mon Sep 17 00:00:00 2001 From: Bartosz Taudul Date: Thu, 20 May 2021 02:26:02 +0200 Subject: [PATCH] Display cache and branch miss rates. --- server/TracySourceView.cpp | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/server/TracySourceView.cpp b/server/TracySourceView.cpp index 7d9ba337..c11d89de 100644 --- a/server/TracySourceView.cpp +++ b/server/TracySourceView.cpp @@ -2636,6 +2636,22 @@ void SourceView::RenderAsmLine( AsmLine& line, const AddrStat& ipcnt, const Addr } if( hw->cycles ) TextFocused( "Cycles:", RealToString( hw->cycles ) ); if( hw->retired ) TextFocused( "Retirements:", RealToString( hw->retired ) ); + if( hw->cacheRef && hw->cacheMiss ) + { + TextDisabledUnformatted( "Cache miss rate:" ); + ImGui::SameLine(); + PrintPercentage( float( 100 * hw->cacheMiss ) / hw->cacheRef ); + } + if( hw->cacheRef ) TextFocused( "Cache references:", RealToString( hw->cacheRef ) ); + if( hw->cacheMiss ) TextFocused( "Cache misses:", RealToString( hw->cacheMiss ) ); + if( hw->branchRetired && hw->branchMiss ) + { + TextDisabledUnformatted( "Branch mispredictions rate:" ); + ImGui::SameLine(); + PrintPercentage( float( 100 * hw->branchMiss ) / hw->branchRetired ); + } + if( hw->branchRetired ) TextFocused( "Retired branches:", RealToString( hw->branchRetired ) ); + if( hw->branchMiss ) TextFocused( "Branch mispredictions:", RealToString( hw->branchMiss ) ); } const auto& stats = *worker.GetSymbolStats( symAddrParents ); if( !stats.parents.empty() )