Viewing results
Page contents
Reports
The competition report file (code.report
) file is a plain
text description of the competition results. This is similar to the live
report that is displayed while the competition is running. It includes the
contents of the competition’s description
setting.
For tournaments, it also shows descriptions of the players. These are obtained
using the GTP name
and version
commands, or using
gomill-describe_engine
if the engine provides it.
For example, in a playoff tournament with a single matchup:
playoff: example
Testing GNU Go level 1 vs level 2, 2010-10-14
gnugo-l1 v gnugo-l2 (5/5 games)
board size: 9 komi: 7.5
wins black white avg cpu
gnugo-l1 2 40.00% 1 33.33% 1 50.00% 1.23
gnugo-l2 3 60.00% 1 50.00% 2 66.67% 1.39
2 40.00% 3 60.00%
player gnugo-l1: GNU Go:3.8
player gnugo-l2: GNU Go:3.8
The report file is written automatically at the end of each run. The
report
command line action forces it to be rewritten; this can be
useful if you have changed descriptive text in the control file, or if a run
stopped ungracefully.
The show
command line action prints the same report to standard
output.
It’s safe to run show
or report
on a competition which is
currently being run.
Game records
The ringmaster writes an SGF record of each game it plays to the
code.games/
directory (which it will create if necessary). This can
be disabled with the record_games
setting. The filename is based on
the game’s game_id.
(You might also see game records in a code.void/
directory; these
are games which were abandoned due to software failure; see Void games.)
The ringmaster supports a protocol for engines to provide text to be placed in
the comment section for individual moves: see gomill-explain_last_move
.
The game record includes a description of the players in the root node comment
[1]. If an engine implements gomill-describe_engine
, its output is
included.
[1] | The root node comment is used rather than the game comment because (in my experience) SGF viewers tend to make it easier to see information there. |
CPU time
The reports and game records show the CPU time taken by the players, when available.
If an engine implements the gomill-cpu_time
command, its output is
used. Otherwise, the ringmaster uses the CPU time of the engine process that
it created, as returned by the wait4()
system call (user plus system
time); unfortunately, this may not be meaningful, if the engine’s work isn’t
all done directly in that process.
Querying the results
Gomill provides a Python library interface for processing the game results stored in a tournament’s state file.
This is documented in Tournament results API. See also the
find_forfeits.py
example script.