I did some more stats. In stead of just printing the time stats, I let Fairy-Max now also measure the real time, user time and system time, and print those. Unfortunately the latter two are only given in centi-seconds. This should average out, though.
So I played some 40/10sec games with different settings, to see not only the delay between sending a move, and the opponent receiving it, but also how much CPU the GUI (well, all other processes really, but nothing was running) was stealing away from the engine.
The result was that the delay is virtually independent of GUI settings, and almost always 1 msec. As I took histograms, I can look at the worst case as well as the average, and there are just a few very large delay. Inspecting the debug file it turns out these all occur at the end when the engines are mated: they move instantly in that case, so that GUI processing which normally can be done in parallel with the engine thinking now results in a delay. This is to be expected, and not really a problem.
A for the time stolen from the engine (compare to an average time per move of 250 msec):
Code: Select all
90 msec: 72x72, EO, SAN
84 msec: 33x33, EO, SAN
61 msec: 33x33, hide thinking
6 msec: noGUI
4 msec: noGUI, nopost
NxN = square size
EO = engine output window open
SAN = PVs were converted to SAN
hide thinking = no PVs printed above the board
nopost = engine did not send thinking output (no scores in PGN)
The raw numbers are below:
Code: Select all
-size 33, engine-output, SAN
delay
0. 21
1. 120
2. 3
3. 2
4. 1
122. 1
134. 1
152. 1
156. 1
usage (avg = 84)
0. 2
12. 1
16. 1
30. 1
34. 1
36. 1
46. 1
48. 1
50. 1
56. 1
60. 2
62. 3
64. 1
66. 1
68. 3
70. 5
72. 5
74. 7
76. 6
78. 4
80. 8
82. 9
84. 6
86. 7
88. 9
90. 9
92. 10
94. 7
96. 3
98. 6
100. 6
102. 7
104. 4
106. 2
110. 2
112. 1
116. 2
120. 1
124. 1
128. 1
140. 1
-size 72, engine-ooutput, SAN
delay
0. 15
1. 94
2. 2
140. 1
146. 1
151. 1
usage (avg = 90)
0. 1
2. 1
14. 1
68. 3
70. 1
72. 2
74. 1
76. 1
78. 4
80. 9
82. 7
84. 8
86. 4
88. 9
90. 8
92. 4
94. 6
96. 6
98. 4
100. 6
102. 5
104. 4
106. 3
108. 6
110. 3
112. 1
114. 2
122. 1
124. 1
130. 1
-noGUI
delay
0. 18
1. 146
2. 3
usage (avg = 6)
0. 15
2. 7
4. 24
6. 26
8. 14
10. 21
12. 17
14. 7
16. 6
18. 1
20. 1
22. 1
24. 1
-noGUI, nopost
delay
1. 64
2. 6
14. 1
usage (avg = 4)
0. 9
2. 6
4. 8
6. 3
8. 5
10. 5
12. 6
14. 3
16. 1
28. 1
32. 1
-size 33, no EO, hide thinking
delay
0. 6
1. 124
2. 5
13. 1
usage (avg = 61)
0. 2
10. 1
20. 1
46. 1
48. 3
50. 5
52. 6
54. 12
56. 18
58. 10
60. 20
62. 11
64. 12
66. 18
68. 1
72. 4
74. 2
76. 2
78. 1
84. 1
90. 1
106. 1
110. 1
170. 1