I probably made mistakes but I took a stab at this. I eyeballed the top graph on this page
http://tests.stockfishchess.org/regression
And picked the four biggest jumps, which account for about half the Elo improvement in SF6
Code: Select all
new old elo
4758fd3 ffedfa3 9
ea9c424 cd065dd 7
c6d45c6 79fa72f 5
296534f 1588642 5
It looks like major testing is only done at checkpoints like these -- each commit just needs to prove it isn't a regression, or declare it's not a functional change (nevertheless there is a regression in this graph...). So there's no immediate way to tell the Elo impact of a commit but I used the inverse of the number of games the SPRT apparently required before it quit as a proxy. That yields (again, by eye) these significant commits for the above checkpoints, respectively
Add bonuses for minors attacking enemy pieces 13
Tune trapped rook penalty (on master)
Double mg bonus and half eg bonus (on master, "outpost tuning")
King-pawn threat bonus for endgames 49
Evaluate king safety when no queen is present 51
Change history reduction in LMR to be a full ply 53
Remove use of half-ply reductions 55
Add bonuses for each threat instead of max threat value 94
Be more optimistic in aspiration window 105
Halve StormDanger bonus for blocked pawn on A/H file 153
Avoid searching TT twice for the same key/position... 151
Big King Safety tuning 184
The numbers here are the associated pull requests. Append to this URI to read more and get a link to the diff
https://github.com/official-stockfish/Stockfish/pull/
Of course the non-functional changes lay the groundwork for future improvements... This doesn't even scratch the surface. It's just what I, a newcomer with only a passing interest in computer chess, could do in an hour. It does appear that you (Uri) are being modest, since you made some of the more interesting changes in this release.
-Carl