projects
/
oweals
/
minetest.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use configured bind_address for HTTPFetch
[oweals/minetest.git]
/
src
/
profiler.h
diff --git
a/src/profiler.h
b/src/profiler.h
index dce7d57e266c82f62da5ae62e5557a92505a1507..25d89c6c8a6304fd77988ab50fc01189c0f5c5b3 100644
(file)
--- a/
src/profiler.h
+++ b/
src/profiler.h
@@
-1,6
+1,6
@@
/*
/*
-Minetest
-c55
-Copyright (C) 201
1
celeron55, Perttu Ahola <celeron55@gmail.com>
+Minetest
+Copyright (C) 201
3
celeron55, Perttu Ahola <celeron55@gmail.com>
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
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
@@
-20,13
+20,15
@@
with this program; if not, write to the Free Software Foundation, Inc.,
#ifndef PROFILER_HEADER
#define PROFILER_HEADER
#ifndef PROFILER_HEADER
#define PROFILER_HEADER
-#include "
common_irrlicht
.h"
+#include "
irrlichttypes
.h"
#include <string>
#include <string>
-#include <jmutex.h>
-#include <jmutexautolock.h>
#include <map>
#include <map>
+
+#include "jthread/jmutex.h"
+#include "jthread/jmutexautolock.h"
#include "util/timetaker.h"
#include "util/numeric.h" // paging()
#include "util/timetaker.h"
#include "util/numeric.h" // paging()
+#include "debug.h" // assert()
/*
Time profiler
/*
Time profiler
@@
-37,7
+39,6
@@
class Profiler
public:
Profiler()
{
public:
Profiler()
{
- m_mutex.Init();
}
void add(const std::string &name, float value)
}
void add(const std::string &name, float value)
@@
-45,21
+46,21
@@
public:
JMutexAutoLock lock(m_mutex);
{
/* No average shall have been used; mark add used as -2 */
JMutexAutoLock lock(m_mutex);
{
/* No average shall have been used; mark add used as -2 */
-
core::map<std::string, int>::Node *
n = m_avgcounts.find(name);
- if(n ==
NULL
)
+
std::map<std::string, int>::iterator
n = m_avgcounts.find(name);
+ if(n ==
m_avgcounts.end()
)
m_avgcounts[name] = -2;
else{
m_avgcounts[name] = -2;
else{
- if(n->
getValue()
== -1)
- n->se
tValue(-2)
;
- assert(n->
getValue()
== -2);
+ if(n->
second
== -1)
+ n->se
cond = -2
;
+ assert(n->
second
== -2);
}
}
{
}
}
{
-
core::map<std::string, float>::Node *
n = m_data.find(name);
- if(n ==
NULL
)
+
std::map<std::string, float>::iterator
n = m_data.find(name);
+ if(n ==
m_data.end()
)
m_data[name] = value;
else
m_data[name] = value;
else
- n->se
tValue(n->getValue() + value)
;
+ n->se
cond += value
;
}
}
}
}
@@
-67,35
+68,32
@@
public:
{
JMutexAutoLock lock(m_mutex);
{
{
JMutexAutoLock lock(m_mutex);
{
-
core::map<std::string, int>::Node *
n = m_avgcounts.find(name);
- if(n ==
NULL
)
+
std::map<std::string, int>::iterator
n = m_avgcounts.find(name);
+ if(n ==
m_avgcounts.end()
)
m_avgcounts[name] = 1;
else{
/* No add shall have been used */
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 = MYMAX(n->second, 0) + 1;
}
}
{
}
}
{
-
core::map<std::string, float>::Node *
n = m_data.find(name);
- if(n ==
NULL
)
+
std::map<std::string, float>::iterator
n = m_data.find(name);
+ if(n ==
m_data.end()
)
m_data[name] = value;
else
m_data[name] = value;
else
- n->se
tValue(n->getValue() + value)
;
+ n->se
cond += value
;
}
}
void clear()
{
JMutexAutoLock lock(m_mutex);
}
}
void clear()
{
JMutexAutoLock lock(m_mutex);
- for(
core::map<std::string, float>::I
terator
- i = m_data.
getIterator
();
- i
.atEnd() == false; i++
)
+ for(
std::map<std::string, float>::i
terator
+ i = m_data.
begin
();
+ i
!= m_data.end(); ++i
)
{
{
- i
.getNode()->setValue(0)
;
+ i
->second = 0
;
}
m_avgcounts.clear();
}
}
m_avgcounts.clear();
}
@@
-112,9
+110,9
@@
public:
u32 minindex, maxindex;
paging(m_data.size(), page, pagecount, minindex, maxindex);
u32 minindex, maxindex;
paging(m_data.size(), page, pagecount, minindex, maxindex);
- for(
core::map<std::string, float>::I
terator
- i = m_data.
getIterator
();
- i
.atEnd() == false; i++
)
+ for(
std::map<std::string, float>::i
terator
+ i = m_data.
begin
();
+ i
!= m_data.end(); ++i
)
{
if(maxindex == 0)
break;
{
if(maxindex == 0)
break;
@@
-126,12
+124,12
@@
public:
continue;
}
continue;
}
- std::string name = i
.getNode()->getKey()
;
+ std::string name = i
->first
;
int avgcount = 1;
int avgcount = 1;
-
core::map<std::string, int>::Node *
n = m_avgcounts.find(name);
- if(n){
- if(n->
getValue()
>= 1)
- avgcount = n->
getValue()
;
+
std::map<std::string, int>::iterator
n = m_avgcounts.find(name);
+ if(n
!= m_avgcounts.end()
){
+ if(n->
second
>= 1)
+ avgcount = n->
second
;
}
o<<" "<<name<<": ";
s32 clampsize = 40;
}
o<<" "<<name<<": ";
s32 clampsize = 40;
@@
-143,7
+141,7
@@
public:
else
o<<" ";
}
else
o<<" ";
}
- o<<(i
.getNode()->getValue()
/ avgcount);
+ o<<(i
->second
/ avgcount);
o<<std::endl;
}
}
o<<std::endl;
}
}
@@
-167,10
+165,17
@@
public:
m_graphvalues.clear();
}
m_graphvalues.clear();
}
+ void remove(const std::string& name)
+ {
+ JMutexAutoLock lock(m_mutex);
+ m_avgcounts.erase(name);
+ m_data.erase(name);
+ }
+
private:
JMutex m_mutex;
private:
JMutex m_mutex;
-
core
::map<std::string, float> m_data;
-
core
::map<std::string, int> m_avgcounts;
+
std
::map<std::string, float> m_data;
+
std
::map<std::string, int> m_avgcounts;
std::map<std::string, float> m_graphvalues;
};
std::map<std::string, float> m_graphvalues;
};