title: Slow ulong bitwise AND in C#
body: <p>I'm trying to optimize my chess program. I'm using <code>ulong</code> bitboards to generate legal moves as I thought it would be very quick. Profiler, however, suggests that much of the time is spent on bitwise AND operation (over 20% of inclusive samples, as shown below; analysis performed several times with the same result).</p>
  
  <p>The profiled code was optimized x64, ran on VMWare Player (Windows 7 guest, Debian host). I couldn't get Mono Profiler to work to see if it produces the same results, but Mono executed natively on Linux ran code exactly the same time as .Net framework on VMWare.</p>
  
  <p>Can the report shown below possibly be correct and the operation is indeed that heavy, am I misinterpreting it, or is the profiler inaccurate?</p>
  
  <p><img src="https://i.stack.imgur.com/emHGt.png" alt="Result of profiling"></p>