H.G.Muller wrote:I don't know how you measured this, but simply putting a loop around your move generator to execute it a million or a billion times while timing how long it takes to finish is not a reliable method. It would severely overestimate the speed, because the first few iterations would train the brach-prediction logic for perfect prediction, while in practical move-generation algorithms the execution time is often dominated by mispredictions. Same with caching formemory-intensive move generators (like magic bitboard).
Hmmm true. I could "solve" that somewhat by generating a random setup for each invocation
H.G.Muller wrote:More realistic would be to run a peft(6) using that move generator (not making the final ply, so almost no time is spent on Make/Umake). That would also make it easy to compare with other perft speeds.
Looking at it: is it generating a tree of scenes with all possible moves for a certain depth? Am I required to do evaluation during that?