Mercurial > hg > svcore
diff data/model/Dense3DModelPeakCache.cpp @ 1527:710e6250a401 zoom
Merge from default branch
author | Chris Cannam |
---|---|
date | Mon, 17 Sep 2018 13:51:14 +0100 |
parents | 48e9f538e6e9 |
children | 70e172e6cc59 |
line wrap: on
line diff
--- a/data/model/Dense3DModelPeakCache.cpp Mon Dec 12 15:18:52 2016 +0000 +++ b/data/model/Dense3DModelPeakCache.cpp Mon Sep 17 13:51:14 2018 +0100 @@ -17,8 +17,10 @@ #include "base/Profiler.h" +#include "base/HitCount.h" + Dense3DModelPeakCache::Dense3DModelPeakCache(const DenseThreeDimensionalModel *source, - int columnsPerPeak) : + int columnsPerPeak) : m_source(source), m_columnsPerPeak(columnsPerPeak) { @@ -33,18 +35,17 @@ this, SLOT(sourceModelChanged())); connect(source, SIGNAL(aboutToBeDeleted()), this, SLOT(sourceModelAboutToBeDeleted())); - } Dense3DModelPeakCache::~Dense3DModelPeakCache() { + if (m_cache) m_cache->aboutToDelete(); delete m_cache; } Dense3DModelPeakCache::Column Dense3DModelPeakCache::getColumn(int column) const { - Profiler profiler("Dense3DModelPeakCache::getColumn"); if (!m_source) return Column(); if (!haveColumn(column)) fillColumn(column); return m_cache->getColumn(column); @@ -79,7 +80,14 @@ bool Dense3DModelPeakCache::haveColumn(int column) const { - return in_range_for(m_coverage, column) && m_coverage[column]; + static HitCount count("Dense3DModelPeakCache"); + if (in_range_for(m_coverage, column) && m_coverage[column]) { + count.hit(); + return true; + } else { + count.miss(); + return false; + } } void