io-chess
UCI chess engine
Loading...
Searching...
No Matches
benchmark_eval.cpp File Reference
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <string>
#include <chrono>
#include <iomanip>
#include <cstring>
#include <random>
#include <thread>
#include <atomic>
#include "Types.h"
#include "eval/Evaluator.h"
#include "eval/EvalContextMoE.h"
#include "FeatureExtractor.hpp"
Include dependency graph for benchmark_eval.cpp:

Classes

struct  BenchmarkResult
struct  PlayoutResult
struct  PlayoutBatchResult

Functions

std::vector< std::string > loadFens (const std::string &csvPath, size_t maxPositions=0)
BenchmarkResult benchmarkFeatureExtraction (const std::vector< std::string > &fens)
PlayoutResult benchmarkRandomPlayout (const std::string &startFen, size_t plies, IEvaluator &evaluator, std::mt19937 &rng)
PlayoutBatchResult benchmarkRandomPlayouts (const std::vector< std::string > &fens, size_t games, size_t plies, IEvaluator &evaluator)
BenchmarkResult benchmarkFullEvaluation (const std::vector< std::string > &fens, IEvaluator &evaluator, bool separateTiming=true)
BenchmarkResult benchmarkMultiThreaded (const std::vector< std::string > &fens, Evaluator &evaluator, size_t numThreads)
void printResults (const std::string &name, const BenchmarkResult &result)
int main (int argc, char *argv[])

Function Documentation

◆ benchmarkFeatureExtraction()

BenchmarkResult benchmarkFeatureExtraction ( const std::vector< std::string > & fens)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ benchmarkFullEvaluation()

BenchmarkResult benchmarkFullEvaluation ( const std::vector< std::string > & fens,
IEvaluator & evaluator,
bool separateTiming = true )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ benchmarkMultiThreaded()

BenchmarkResult benchmarkMultiThreaded ( const std::vector< std::string > & fens,
Evaluator & evaluator,
size_t numThreads )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ benchmarkRandomPlayout()

PlayoutResult benchmarkRandomPlayout ( const std::string & startFen,
size_t plies,
IEvaluator & evaluator,
std::mt19937 & rng )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ benchmarkRandomPlayouts()

PlayoutBatchResult benchmarkRandomPlayouts ( const std::vector< std::string > & fens,
size_t games,
size_t plies,
IEvaluator & evaluator )
Here is the call graph for this function:
Here is the caller graph for this function:

◆ loadFens()

std::vector< std::string > loadFens ( const std::string & csvPath,
size_t maxPositions = 0 )
Here is the caller graph for this function:

◆ main()

int main ( int argc,
char * argv[] )
Here is the call graph for this function:

◆ printResults()

void printResults ( const std::string & name,
const BenchmarkResult & result )
Here is the caller graph for this function: