29 lines
500 B
C++
29 lines
500 B
C++
#pragma once
|
|
|
|
#include "ml.h"
|
|
|
|
#include <unordered_map>
|
|
|
|
class MlPerfMon {
|
|
|
|
private:
|
|
MlPerfMon() : perfOn(false) {};
|
|
|
|
public:
|
|
|
|
// https://stackoverflow.com/questions/43523509/simple-singleton-example-in-c
|
|
static MlPerfMon& instance(){
|
|
static MlPerfMon instance;
|
|
return instance;
|
|
}
|
|
|
|
void turnOn();
|
|
|
|
void add_method_call(const std::string &method);
|
|
void print_results();
|
|
|
|
private:
|
|
bool perfOn;
|
|
std::unordered_map<std::string, long> calls_counter;
|
|
};
|