I also believe that nodes per second could be in floating point as it is "future proof."
hgm wrote:A few more things to consider:
1) Now that harware is ever getting faster, people play faster games, and the precision of the TC parameters becomes an issue. This is the most pressing for the INC parameter,as the TC parameter already allows specification of seconds, and typically is for 40 moves, so that it translates toan accuracy of 25 ms/move. For the INC it has tobe rounded to seconds, though, which is evolving towards the unacceptable.
So I propose to allow the specification of seconds to be floating-point numbers,in INC as well as TC parameters of the new level command. (I.e. engines should read them as "level %d %d:%f %f" or "level %d %d %f" format rather than "level %d %d:%d %d" or "level %d %d %d".)
2) Existing WB protocol has the st M command as an alternative to level N M T. If we are deciding upon an extended level command, we might as well integrate this into the extended level. One reason isto facilitate implementation of byoyomi-type time control (as alternative to classical and incremental). This TC is as many moves as you want in a first session of specified duration (e.g. one hour), followed by a maximum time per move. (Admittedly a weird system, but common place in official Shogi games.)
This could be implemented as a multisession TC, with a first session of a novel type ("any number of moves in M minutes"), after which you would switch to st-type time control. I think the (MPS, TC, INC) system of specifying sessions still has enough currently invalid combinations which could be requisitioned for this in a not-too-illogical way:
level -1 M 0
could be taken to mean a session of 1 hour and an arbitrary number of moves. (Essentially just play M minutes without clock.) So the next session would start after a certain time has elapsed, rather than after a certain number of moves.
level -1 0 T
could be defined as equivalent to st T, which is subtly different from the already defined level 0 0 T, where you would carry any leftover time with you to the next move.
The usual byoyomi TC would then be specified as
level -1 M 0; -1 0 T