チェス プログラムを最適化しようとしています。ulong
非常に速いと思ったので、合法的な動きを生成するためにビットボードを使用しています。ただし、Profiler は、多くの時間がビットごとの AND 演算に費やされていることを示唆しています (以下に示すように、包含サンプルの 20% 以上。分析は複数回実行され、同じ結果が得られました)。
プロファイリングされたコードは x64 に最適化され、VMWare Player (Windows 7 ゲスト、Debian ホスト) で実行されました。Mono Profiler を動作させて同じ結果が得られるかどうかを確認することはできませんでしたが、Linux 上でネイティブに実行された Mono は、VMWare 上の .Net フレームワークとまったく同じ時間にコードを実行しました。
以下に示されているレポートは正しい可能性がありますが、操作は実際にそれほど重いので、解釈を誤解していますか、それともプロファイラーが不正確ですか?