I wanted to have your engine's perft results, and the methods used (all moves made/unmade, threading, hash update, checks...).
My engine is written in Java and I'm starting to feel like the language has its limits when it comes to chess programming, therefore I would really like to be able to compare.
Sharper executes a perft 6 about in 1s, but I do not believe it is doing all the moves normally and is "cheating" the test. Only now do I realize it and was getting nearly depressed that my engine was nearly 10 times slower when in fact I was making every single move and also verifying checkmates.
On the initial position, with legal moves, draw updates, hashing updates, check verification... except I do not make/unmake at depth 1:
-at depth 5: 4865609 nodes / 406ms
-at depth 6: 119060324 nodes / 4035ms
Also, windows 10 64bits / laptop with processor i7-6700HQ @ 2.60GHz
How fast is this compared to you? And also, is it slow, keeping in mind it's Java (specifically, aimed for Android)?
I have made my very own representation (with the obvious 8x8 two dimensional array, and many less obvious ideas
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
Also (this is a little off-topic), what is the point of generating pseudo-legal moves? Isn't it much slower, because you have to verify a check position for every move made? Are there awesome formulas to find those with each famous board representation?