It generates moves faster than my Free Pascal based engine. But probably it is rather from a different implementation of things than by the change of programming language.
- I avoided to use threads, in C++ on Windows you can use PeekNamedPipe to mange unblocking IO.
- I implemented magic bitboards instead of rotated bitboards (It was far easier to implement, the board transformations for rotated bitboards were really mind bending)
- I used int as TMove representation
And the Mates looked like this