Thanks Eric
In the other topic "Hitting a wall", I explained the problem I have, that history doesn't seem to work (well), and aspiration windows also don't work. Niels (from Loli) identified some problems with regard to bounding of the history values. I had already merged everything into the master branch because each feature _did_ increase playing strength.
I'm rerunning a few gauntlets (again), and after that I'll disable history and aspiration windows, and test the killer moves again.
Then I'll add PVS and test this (as this seems to be almost mandatory, where AW could possibly fall by the wayside), and then I'll re-enable AW and re-do the history heuristic.
My PST's are sensible, as far as I can tell from Rustic's playing style, apart from the fact that it just doesn't know anything about dynamic stuff yet (king safety, pawn structure, etc.)
I'll take a look at history after killers, PVS, and AW.
The one problem with history I have is....
How do I make that fast in Rust?
Now, I recreate the history (and the killers) with each new search. If I need to keep them the entire game, they'll end up in the Search object, which is in a different thread. I can't go and mutex the history and killers because that's terribly slow. I can implement unsafe shared memory, but it's called unsafe for a reason, because the values can't be guaranteed. How do other engines do this; just write whenever they please, and hope the values are mostly correct...?