For PGO compiles, code optimization, system comparison, and development testing Fire utilizes a benchmark function. It analyzes 64 positions (default start position and 20 opening, middlegame, and endgame positions each) taken from ECO (Encyclopedia of Chess Openings) and ECE (Encyclopedia of Chess Endings), along with 3 Chess960 (Fischer Random Chess ) starting positions to a default depth of 16.
It averages and records results to a date-stamped disk file. The results include a nodes-per-second and a time-to-depth calculation.
​
'bench' accepts depth as a command line parameter
'bench <depth>'
for ex:
type 'bench 20' at the command-line, and hit ENTER
​
When finished, it will automatically record the results to disk as a date-stamp text file, for ex: perft_Feb-23_09-37.txt.
​
Here is an example 1 thread run at default depth 16 on an Intel® Core™ i9-9900K @3.60ghz:
nodes 98296612
time 31.682 secs
nps 3102601
ttd 0.495 secs​​
saved bench_Apr-02_16-52.txt
​
'bench' command uses the number of threads currently configured via UCI 'Threads' options which can be changed at the command line as follows:
setoption name Threads value 8