I am creating my own C# bitboard engine from scratch and it is going pretty good so far, much thanks to this forum and other helpful resources.
Since C# is not my main language I would like some advice on how to speed things up in the base of the code, that is the move generation, make and unmake move functions.
Currently I have optimized the logic as far as I could and have gone from around 500 k nodes/s to 1.5 M nodes/s. My questions are:
1. I have the relevant code including bit operation code here: https://onecompiler.com/csharp/3zsymc4eh. I know it is a lot to ask, I would highly appreciate if you had the time to take a rough look at it to see if I make any obvious mistakes that could slow the performance down.
2. Is 1.5 M nodes/s okay for a C# engine for move generation, make and unmake move? I have no reference to what good values are for this langauge.
Thank you so much in advance, and hope I am not asking for too much or it breaks some rule in this forum
