mirror of
https://github.com/HChaZZY/Stockfish.git
synced 2025-12-19 00:26:33 +08:00
Add simple debug hit rate counter
Add a very simple debug framework to measure the hit rate of a given condition. Simply insert macro dbg_hit_on(x); Anywhere you want to compute hit rate of condition x and then call, as example in poll(), function dbg_print_hit_rate() to print current results. Signed-off-by: Marco Costalba <mcostalba@gmail.com>
This commit is contained in:
16
src/misc.cpp
16
src/misc.cpp
@@ -38,15 +38,31 @@ int gettimeofday(struct timeval * tp, struct timezone * tzp);
|
|||||||
|
|
||||||
#include <cstdio>
|
#include <cstdio>
|
||||||
#include <iomanip>
|
#include <iomanip>
|
||||||
|
#include <iostream>
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
#include "misc.h"
|
#include "misc.h"
|
||||||
|
|
||||||
|
|
||||||
|
////
|
||||||
|
//// Variables
|
||||||
|
////
|
||||||
|
|
||||||
|
long dbg_cnt0 = 0;
|
||||||
|
long dbg_cnt1 = 0;
|
||||||
|
|
||||||
|
|
||||||
////
|
////
|
||||||
//// Functions
|
//// Functions
|
||||||
////
|
////
|
||||||
|
|
||||||
|
void dbg_print_hit_rate() {
|
||||||
|
|
||||||
|
std::cout << "Total " << dbg_cnt0 << " Hit " << dbg_cnt1
|
||||||
|
<< " hit rate (%) " << (dbg_cnt1*100)/(dbg_cnt0 ? dbg_cnt0 : 1)
|
||||||
|
<< std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
/// engine_name() returns the full name of the current Glaurung version.
|
/// engine_name() returns the full name of the current Glaurung version.
|
||||||
/// This will be either "Glaurung YYMMDD" (where YYMMDD is the date when the
|
/// This will be either "Glaurung YYMMDD" (where YYMMDD is the date when the
|
||||||
/// program was compiled) or "Glaurung <version number>", depending on whether
|
/// program was compiled) or "Glaurung <version number>", depending on whether
|
||||||
|
|||||||
@@ -56,5 +56,13 @@ extern int get_system_time();
|
|||||||
extern int cpu_count();
|
extern int cpu_count();
|
||||||
extern int Bioskey();
|
extern int Bioskey();
|
||||||
|
|
||||||
|
////
|
||||||
|
//// Debug
|
||||||
|
////
|
||||||
|
extern long dbg_cnt0;
|
||||||
|
extern long dbg_cnt1;
|
||||||
|
extern void dbg_print_hit_rate();
|
||||||
|
|
||||||
|
#define dbg_hit_on(x) { dbg_cnt0++; if (x) dbg_cnt1++; }
|
||||||
|
|
||||||
#endif // !defined(MISC_H_INCLUDED)
|
#endif // !defined(MISC_H_INCLUDED)
|
||||||
|
|||||||
Reference in New Issue
Block a user