Home » Community » U++ community news and announcements » Core 2019
Re: Core 2019 [message #51847 is a reply to message #51846] |
Sun, 09 June 2019 17:15 |
Novo
Messages: 1358 Registered: December 2006
|
Ultimate Contributor |
|
|
I hacked your TIMING macro and made a similar RMEMUSE one:
namespace Upp {
struct MemInspector {
protected:
static bool active;
const char *name;
int call_count;
int min_mem;
int max_mem;
int max_nesting;
int all_count;
StaticMutex mutex;
public:
MemInspector(const char *name = NULL); // Not String !!!
~MemInspector();
void Add(int mem, int nesting);
String Dump();
class Routine {
public:
Routine(MemInspector& stat, int& nesting)
: nesting(nesting), stat(stat) {
++nesting;
}
~Routine() {
--nesting;
int mem = MemoryUsedKb();
stat.Add(mem, nesting);
}
protected:
int& nesting;
MemInspector& stat;
};
static void Activate(bool b) { active = b; }
};
bool MemInspector::active = true;
MemInspector::MemInspector(const char *_name) {
name = _name ? _name : "";
all_count = call_count = max_nesting = min_mem = max_mem = 0;
}
MemInspector::~MemInspector() {
Mutex::Lock __(mutex);
StdLog() << Dump() << "\r\n";
}
void MemInspector::Add(int mem, int nesting)
{
// mem = MemoryUsedKb() - mem;
Mutex::Lock __(mutex);
if(!active) return;
all_count++;
if(nesting > max_nesting)
max_nesting = nesting;
if(nesting == 0) {
if(call_count++ == 0)
min_mem = max_mem = mem;
else {
if(mem < min_mem)
min_mem = mem;
if(mem > max_mem)
max_mem = mem;
}
}
}
String MemInspector::Dump() {
Mutex::Lock __(mutex);
String s = Sprintf("MEMUSE %-15s: ", name);
if(call_count == 0)
return s + "No active hit";
return s
<< "min: " << min_mem
<< ", max: " << max_mem
<< Sprintf(", nesting: %d - %d", max_nesting, all_count);
}
}
#define RMEMUSE(x) \
static UPP::MemInspector COMBINE(sMemStat, __LINE__)(x); \
static thread_local int COMBINE(sMemStatNesting, __LINE__); \
UPP::MemInspector::Routine COMBINE(sMemStatR, __LINE__)(COMBINE(sMemStat, __LINE__), COMBINE(sMemStatNesting, __LINE__))
What I'm getting in case of HPAGE = 7 * 8192 is
TIMING Chunk : 4108.80 s - 22.66 ms (4108.80 s / 181363 ), min: 1.00 ms, max: 1.24 s , nesting: 0 - 181363
MEMUSE Chunk : min: 30844, max: 341052, nesting: 0 - 181363
TIMING Read Data : 228.28 s - 228.28 s (228.28 s / 1 ), min: 228.28 s , max: 228.28 s , nesting: 0 - 1
top is saying max used memory (RES) is ~771 Mb.
Regards,
Novo
|
|
|
|
|
Core 2019
By: mirek on Fri, 07 June 2019 13:56
|
|
|
Re: Core 2019
By: Novo on Fri, 07 June 2019 17:51
|
|
|
Re: Core 2019
By: mirek on Fri, 07 June 2019 18:01
|
|
|
Re: Core 2019
By: Novo on Fri, 07 June 2019 23:00
|
|
|
Re: Core 2019
By: Novo on Sat, 08 June 2019 18:30
|
|
|
Re: Core 2019
By: mirek on Sat, 08 June 2019 18:40
|
|
|
Re: Core 2019
By: Novo on Sat, 08 June 2019 19:44
|
|
|
Re: Core 2019
By: mirek on Sat, 08 June 2019 20:38
|
|
|
Re: Core 2019
By: Novo on Sat, 08 June 2019 21:45
|
|
|
Re: Core 2019
By: Novo on Sat, 08 June 2019 21:42
|
|
|
Re: Core 2019
By: mirek on Sat, 08 June 2019 18:31
|
|
|
Re: Core 2019
By: Novo on Sat, 08 June 2019 21:54
|
|
|
Re: Core 2019
By: Novo on Sat, 08 June 2019 22:06
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 10:03
|
|
|
Re: Core 2019
By: Novo on Sun, 09 June 2019 15:20
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 16:33
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 16:43
|
|
|
Re: Core 2019
By: Novo on Sun, 09 June 2019 17:34
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 18:54
|
|
|
Re: Core 2019
By: Novo on Sun, 09 June 2019 21:39
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 23:11
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 23:25
|
|
|
Re: Core 2019
By: mirek on Mon, 10 June 2019 17:27
|
|
|
Re: Core 2019
By: Novo on Mon, 10 June 2019 18:01
|
|
|
Re: Core 2019
By: mirek on Mon, 10 June 2019 18:17
|
|
|
Re: Core 2019
By: Novo on Mon, 10 June 2019 18:21
|
|
|
Re: Core 2019
By: Novo on Mon, 10 June 2019 18:45
|
|
|
Re: Core 2019
By: Novo on Mon, 10 June 2019 18:18
|
|
|
Re: Core 2019
By: Novo on Mon, 10 June 2019 18:34
|
|
|
Re: Core 2019
By: Novo on Sun, 09 June 2019 17:02
|
|
|
Re: Core 2019
By: Novo on Sun, 09 June 2019 17:15
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 20:56
|
|
|
Re: Core 2019
By: mirek on Sun, 09 June 2019 18:51
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 05:43
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 06:14
|
|
|
Re: Core 2019
By: mirek on Fri, 21 June 2019 09:16
|
|
|
Re: Core 2019
By: mirek on Fri, 21 June 2019 09:23
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 19:58
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 20:28
|
|
|
Re: Core 2019
By: Novo on Sat, 22 June 2019 02:51
|
|
|
Re: Core 2019
By: Novo on Sat, 22 June 2019 02:53
|
|
|
Re: Core 2019
By: mirek on Sat, 22 June 2019 10:23
|
|
|
Re: Core 2019
By: Novo on Sat, 22 June 2019 17:49
|
|
|
Re: Core 2019
By: mirek on Sat, 22 June 2019 22:22
|
|
|
Re: Core 2019
By: Novo on Sat, 22 June 2019 23:44
|
|
|
Re: Core 2019
By: mirek on Sun, 23 June 2019 08:21
|
|
|
Re: Core 2019
By: Novo on Sun, 23 June 2019 21:26
|
|
|
Re: Core 2019
By: mirek on Mon, 24 June 2019 09:22
|
|
|
Re: Core 2019
By: Novo on Mon, 24 June 2019 17:36
|
|
|
Re: Core 2019
By: mirek on Mon, 24 June 2019 18:42
|
|
|
Re: Core 2019
By: Novo on Mon, 24 June 2019 19:36
|
|
|
Re: Core 2019
By: mirek on Mon, 24 June 2019 20:15
|
|
|
Re: Core 2019
By: mirek on Sun, 23 June 2019 09:55
|
|
|
Re: Core 2019
By: mirek on Sun, 23 June 2019 10:19
|
|
|
Re: Core 2019
By: Novo on Mon, 24 June 2019 06:13
|
|
|
Re: Core 2019
By: mirek on Wed, 26 June 2019 08:52
|
|
|
Re: Core 2019
By: mirek on Thu, 27 June 2019 09:44
|
|
|
Re: Core 2019
By: mirek on Fri, 28 June 2019 09:09
|
|
|
Re: Core 2019
By: Tom1 on Fri, 28 June 2019 16:56
|
|
|
Re: Core 2019
By: mirek on Fri, 28 June 2019 17:30
|
|
|
Re: Core 2019
By: mirek on Fri, 28 June 2019 17:31
|
|
|
Re: Core 2019
By: mirek on Fri, 28 June 2019 17:40
|
|
|
Re: Core 2019
By: Tom1 on Fri, 28 June 2019 18:38
|
|
|
Re: Core 2019
By: Novo on Sun, 30 June 2019 19:02
|
|
|
Re: Core 2019
By: mirek on Sun, 30 June 2019 19:11
|
|
|
Re: Core 2019
By: Novo on Sun, 30 June 2019 20:12
|
|
|
Re: Core 2019
By: mirek on Mon, 01 July 2019 00:03
|
|
|
Re: Core 2019
By: Tom1 on Mon, 01 July 2019 09:14
|
|
|
Re: Core 2019
By: Novo on Thu, 11 July 2019 19:55
|
|
|
Re: Core 2019
By: mirek on Thu, 11 July 2019 20:14
|
|
|
Re: Core 2019
By: Novo on Thu, 11 July 2019 20:53
|
|
|
Re: Core 2019
By: mirek on Fri, 12 July 2019 10:09
|
|
|
Re: Core 2019
By: Novo on Fri, 12 July 2019 16:50
|
|
|
Re: Core 2019
By: Novo on Thu, 08 August 2019 21:47
|
|
|
Re: Core 2019
By: mirek on Thu, 08 August 2019 22:47
|
|
|
Re: Core 2019
By: mirek on Thu, 08 August 2019 22:53
|
|
|
Re: Core 2019
By: mirek on Thu, 08 August 2019 22:59
|
|
|
Re: Core 2019
By: Novo on Thu, 08 August 2019 23:30
|
|
|
Re: Core 2019
By: mirek on Fri, 09 August 2019 00:05
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 17:59
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 18:01
|
|
|
Re: Core 2019
By: Novo on Fri, 21 June 2019 18:10
|
Goto Forum:
Current Time: Fri Mar 29 07:31:05 CET 2024
Total time taken to generate the page: 0.03469 seconds
|