Dev Builds » 20191104-2250

Use this dev build

NCM plays each Stockfish dev build 20,000 times against Stockfish 7. This yields an approximate Elo difference and establishes confidence in the strength of the dev builds.

Summary

Host Duration Avg Base NPS Games Wins Losses Draws Elo
ncm-et-3 08:27:45 1975092 3349 2101 52 1196 +247.32 +/- 9.75
ncm-et-4 08:27:58 1973128 3362 2033 71 1258 +232.04 +/- 9.52
ncm-et-9 08:27:47 1967604 3317 1991 74 1252 +229.08 +/- 9.54
ncm-et-10 08:28:02 1966064 3321 2059 49 1213 +243.68 +/- 9.67
ncm-et-13 08:27:38 1978835 3320 2027 49 1244 +238.54 +/- 9.53
ncm-et-15 08:28:05 1972814 3331 2040 49 1242 +239.59 +/- 9.54
20000 12251 344 7405 +238.31 +/- 3.91

Test Detail

ID Host Started (UTC) Duration Base NPS Games Wins Losses Draws Elo CLI PGN
102742 ncm-et-9 2019-11-06 01:46 00:48:15 1970820 317 190 6 121 +230.39 +/- 30.76
102741 ncm-et-13 2019-11-06 01:44 00:49:40 1974071 320 193 1 126 +240.82 +/- 29.67
102740 ncm-et-10 2019-11-06 01:44 00:49:53 1953891 321 192 3 126 +234.8 +/- 29.86
102739 ncm-et-15 2019-11-06 01:43 00:51:13 1964311 331 193 4 134 +225.49 +/- 28.94
102738 ncm-et-3 2019-11-06 01:41 00:53:26 1970480 349 221 4 124 +252.9 +/- 30.36
102737 ncm-et-4 2019-11-06 01:39 00:54:54 1958027 362 213 8 141 +223.07 +/- 28.49
102736 ncm-et-9 2019-11-06 00:28 01:16:37 1968930 500 298 13 189 +224.97 +/- 24.67
102735 ncm-et-10 2019-11-06 00:26 01:17:20 1971909 500 310 6 184 +245.2 +/- 24.83
102734 ncm-et-13 2019-11-06 00:26 01:17:29 1978723 500 314 4 182 +251.89 +/- 24.91
102733 ncm-et-15 2019-11-06 00:25 01:17:00 1970947 500 301 11 188 +230.16 +/- 24.69
102732 ncm-et-4 2019-11-06 00:22 01:15:43 1973581 500 298 9 193 +229.12 +/- 24.27
102731 ncm-et-3 2019-11-06 00:21 01:18:05 1975464 500 311 3 186 +249.64 +/- 24.55
102730 ncm-et-9 2019-11-05 23:09 01:18:01 1958170 500 294 9 197 +224.97 +/- 23.99
102729 ncm-et-10 2019-11-05 23:09 01:15:56 1980161 500 308 6 186 +243.0 +/- 24.68
102728 ncm-et-13 2019-11-05 23:08 01:16:10 1989921 500 306 9 185 +237.58 +/- 24.86
102727 ncm-et-15 2019-11-05 23:07 01:16:36 1967874 500 314 5 181 +250.77 +/- 25.03
102726 ncm-et-4 2019-11-05 23:06 01:15:26 1980913 500 315 9 176 +247.41 +/- 25.56
102725 ncm-et-3 2019-11-05 23:04 01:15:52 1984385 500 293 11 196 +221.9 +/- 24.12
102724 ncm-et-9 2019-11-05 21:52 01:15:28 1973269 500 310 11 179 +239.74 +/- 25.37
102723 ncm-et-13 2019-11-05 21:51 01:16:12 1978878 500 285 13 202 +211.87 +/- 23.76
102722 ncm-et-4 2019-11-05 21:51 01:13:47 1986167 500 300 9 191 +231.21 +/- 24.42
102721 ncm-et-15 2019-11-05 21:51 01:15:22 1970327 500 319 5 176 +256.44 +/- 25.42
102720 ncm-et-10 2019-11-05 21:49 01:18:13 1958021 500 311 7 182 +245.2 +/- 25.02
102719 ncm-et-3 2019-11-05 21:49 01:14:04 1967862 500 322 10 168 +254.16 +/- 26.24
102718 ncm-et-9 2019-11-05 20:37 01:14:37 1964012 500 293 14 193 +218.86 +/- 24.41
102717 ncm-et-4 2019-11-05 20:34 01:16:13 1965234 500 320 10 170 +251.89 +/- 26.08
102716 ncm-et-10 2019-11-05 20:34 01:14:36 1977515 500 311 7 182 +245.2 +/- 25.02
102715 ncm-et-13 2019-11-05 20:33 01:17:00 1974370 500 281 8 211 +212.86 +/- 23.02
102714 ncm-et-15 2019-11-05 20:33 01:16:34 1979689 500 306 10 184 +236.51 +/- 24.97
102713 ncm-et-3 2019-11-05 20:33 01:15:26 1974364 500 317 9 174 +249.64 +/- 25.72
102712 ncm-et-9 2019-11-05 19:18 01:17:25 1965845 500 311 13 176 +238.66 +/- 25.65
102711 ncm-et-15 2019-11-05 19:17 01:14:49 1989921 500 300 8 192 +232.26 +/- 24.31
102710 ncm-et-10 2019-11-05 19:16 01:16:30 1960930 500 316 11 173 +246.3 +/- 25.85
102709 ncm-et-4 2019-11-05 19:16 01:16:33 1968317 500 289 12 199 +216.85 +/- 23.94
102708 ncm-et-3 2019-11-05 19:16 01:15:52 1973431 500 308 11 181 +237.58 +/- 25.22
102707 ncm-et-13 2019-11-05 19:16 01:16:15 1977632 500 319 11 170 +249.64 +/- 26.1
102706 ncm-et-3 2019-11-05 18:00 01:15:00 1979662 500 329 4 167 +269.37 +/- 26.13
102705 ncm-et-9 2019-11-05 18:00 01:17:24 1972185 500 295 8 197 +227.04 +/- 23.96
102704 ncm-et-13 2019-11-05 18:00 01:14:52 1978256 500 329 3 168 +270.57 +/- 26.0
102703 ncm-et-4 2019-11-05 18:00 01:15:22 1979660 500 298 14 188 +223.94 +/- 24.76
102702 ncm-et-10 2019-11-05 18:00 01:15:34 1960026 500 311 9 180 +243.0 +/- 25.24
102701 ncm-et-15 2019-11-05 18:00 01:16:31 1966631 500 307 6 187 +241.91 +/- 24.61

Commit

Commit ID cff9a8672c1da7d36bc54d168d10ea2b1ce5c728
Author 31m059
Date 2019-11-04 22:50:14 UTC
Make Square and Bitboard operators commutative As Stockfish developers, we aim to make our code as legible and as close to simple English as possible. However, one of the more notable exceptions to this rule concerns operations between Squares and Bitboards. Prior to this pull request, AND, OR, and XOR were only defined when the Bitboard was the first operand, and the Square the second. For example, for a Bitboard b and Square s, "b & s" would be valid but "s & b" would not. This conflicts with natural reasoning about logical operators, both mathematically and intuitively, which says that logical operators should commute. More dangerously, however, both Square and Bitboard are defined as integers "under the hood." As a result, code like "s & b" would still compile and give reasonable bench values. This trap occasionally ensnares even experienced Stockfish developers, but it is especially dangerous for new developers not aware of this peculiarity. Because there is no compilation or runtime error, and a reasonable bench, only a close review by approvers can spot this error when a test has been submitted--and many times, these bugs have slipped past review. This is by far the most common logical error on Fishtest, and has wasted uncountable STC games over the years. However, it can be fixed by adding three non-functional lines of code. In this patch, we define the operators when the operands are provided in the opposite order, i.e., we make AND, OR, and XOR commutative for Bitboards and Squares. Because these are inline methods and implemented identically, the executable does not change at all. This patch has the small side-effect of requiring Squares to be explicitly cast to integers before AND, OR, or XOR with integers. This is only performed twice in Stockfish's source code, and again does not change the executable at all (since Square is an enum defined as an integer anyway). For demonstration purposes, this pull request also inverts the order of one AND and one OR, to show that neither the bench nor the executable change. (This change can be removed before merging, if preferred.) I hope that this pull request significantly lowers the barrier-of-entry for new developer to join the Stockfish project. I also hope that this change will improve our efficiency in using our generous CPU donors' machines, since it will remove one of the most common causes of buggy tests. Following helpful review and comments by Michael Stembera (@mstembera), we add a further clean-up by implementing OR for two Squares, to anticipate additional traps developers may encounter and handle them cleanly. Closes https://github.com/official-stockfish/Stockfish/pull/2387 No functional change.
Copyright 2011–2024 Next Chess Move LLC