X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fprofiler.h;h=56b02688037805cca13443b4b6ca2f062d2d76a4;hb=10c03e1a9d09ba0369ea3fbff1ec3a9436a3b706;hp=b1e6abe5883312a1ceac1e06db2970b1876eb893;hpb=9f031a67594162a53b07acbfbc65faf8c4938e99;p=dragonfireclient.git diff --git a/src/profiler.h b/src/profiler.h index b1e6abe58..56b026880 100644 --- a/src/profiler.h +++ b/src/profiler.h @@ -1,6 +1,6 @@ /* -Minetest-c55 -Copyright (C) 2011 celeron55, Perttu Ahola +Minetest +Copyright (C) 2013 celeron55, Perttu Ahola This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by @@ -45,21 +45,21 @@ class Profiler JMutexAutoLock lock(m_mutex); { /* No average shall have been used; mark add used as -2 */ - core::map::Node *n = m_avgcounts.find(name); - if(n == NULL) + std::map::iterator n = m_avgcounts.find(name); + if(n == m_avgcounts.end()) m_avgcounts[name] = -2; else{ - if(n->getValue() == -1) - n->setValue(-2); - assert(n->getValue() == -2); + if(n->second == -1) + n->second = -2; + assert(n->second == -2); } } { - core::map::Node *n = m_data.find(name); - if(n == NULL) + std::map::iterator n = m_data.find(name); + if(n == m_data.end()) m_data[name] = value; else - n->setValue(n->getValue() + value); + n->second += value; } } @@ -67,35 +67,32 @@ class Profiler { JMutexAutoLock lock(m_mutex); { - core::map::Node *n = m_avgcounts.find(name); - if(n == NULL) + std::map::iterator n = m_avgcounts.find(name); + if(n == m_avgcounts.end()) m_avgcounts[name] = 1; else{ /* No add shall have been used */ - assert(n->getValue() != -2); - if(n->getValue() <= 0) - n->setValue(1); - else - n->setValue(n->getValue() + 1); + assert(n->second != -2); + n->second = std::max(n->second, 0) + 1; } } { - core::map::Node *n = m_data.find(name); - if(n == NULL) + std::map::iterator n = m_data.find(name); + if(n == m_data.end()) m_data[name] = value; else - n->setValue(n->getValue() + value); + n->second += value; } } void clear() { JMutexAutoLock lock(m_mutex); - for(core::map::Iterator - i = m_data.getIterator(); - i.atEnd() == false; i++) + for(std::map::iterator + i = m_data.begin(); + i != m_data.end(); ++i) { - i.getNode()->setValue(0); + i->second = 0; } m_avgcounts.clear(); } @@ -112,9 +109,9 @@ class Profiler u32 minindex, maxindex; paging(m_data.size(), page, pagecount, minindex, maxindex); - for(core::map::Iterator - i = m_data.getIterator(); - i.atEnd() == false; i++) + for(std::map::iterator + i = m_data.begin(); + i != m_data.end(); ++i) { if(maxindex == 0) break; @@ -126,12 +123,12 @@ class Profiler continue; } - std::string name = i.getNode()->getKey(); + std::string name = i->first; int avgcount = 1; - core::map::Node *n = m_avgcounts.find(name); - if(n){ - if(n->getValue() >= 1) - avgcount = n->getValue(); + std::map::iterator n = m_avgcounts.find(name); + if(n != m_avgcounts.end()){ + if(n->second >= 1) + avgcount = n->second; } o<<" "<getValue() / avgcount); + o<<(i->second / avgcount); o< m_data; - core::map m_avgcounts; + std::map m_data; + std::map m_avgcounts; std::map m_graphvalues; };