chrisw wrote: ↑Tue Jan 03, 2023 1:56 pm
RubiChess wrote: ↑Tue Jan 03, 2023 8:00 am
Engine needs a grace margin of 1s to not lose on time??
Come on, you can do better.
Indeed, we already do.
Funnily enough, I thought I'ld put your RubiChess through the same testing procedure as Rebel and Chess System Tal.
At timemargin=0, lots of forfeits, which is to be expected.
At timemargin=100, 2 forfeits per 100 games, twice the rate of Rebel which forfeits at 1 per 100 games.
At timemargin=250, all seems okay.
Happy New Year to you!
Hi Chris.
Happy new year
First of all: When we talk about "timemargin", we talk about the grace period that the GUI allows the engines to be late, right?
And your tests above always set this GUI margin and leave the engines parameter on default, right?
Many engines have an UCI parameter "Move_Overhead" which is 100(ms) by default in RubiChess. If you haven't changed this engine parameter, it is absolutely not expected for Rubi to get many forfeits at (GUI) timemargin=0 cause the engines 100ms should be enough margin.
Heavy reading of tablebase files may lead to time forfeits. Do you use them in your tests?
Most important question: Which GUI are we talking about?
Arena is known (at least for me) for very inaccurate timing while cutechess-cli does this very accurate at least with moderate concurrency.
RubiChess measures the delay of the GUI communication (which is easy by measure the time it takes from the "go wtime t1 winc i ..." to the bestmove output and compare with (t1 - t2 + i) from the next "go wtime t2...") and warns if this delay exceeds its internal Move_Overhead margin via
Code: Select all
info string Measured move overhead is 75ms (> 50% of allowed via Move_Overhead option).
or even
Code: Select all
info string Measured move overhead is 719ms and time forfeits are very likely. Please increase Move_Overhead option!
In Arena I get lots of these warnings, in cutechess I never see them.
Which version of RubiChess showed the time forfeits in your tests?
I'm testing latest Rubi versions with cutechess-cli on my Ryzen3700x with concurrency=6, timecontrol 1.0+0.01, Move_Overhead=6(ms) and cutechess timemargin=0 and don't get time forfeits with version >= 20220813. Earlier versions were buggy, we already talked about this here
https://github.com/Matthies/RubiChess/issues/365
In fact I'm a little proud of my timing code and its testing, so please forgive my quite provocative post.
Regards, Andreas