My representation is the 0x88, and I'm using c#.
Today, my generator perform three times slower than crafty

I've already tried bitboard with magic move generator, but surprisingly the 0x88 works faster in my implementation ( I suppose because with C# I have no control about method inlining, I have no way to define macro so creating some maintainable code drop the performance ).
The longest time consuming portion is the "InAttack" function, to check if the move leave the king in attack. My function is naive at the moment, have you please some suggestions to make it better ?
Would be creating and incrementally mantain some sort of attack map be the solution ? Do I have to stop optimizing and having the current performance in move generation ( 3xCrafty) could be acceptable with a very good move order function ?
Thanks to all in advance,
Felix