すべての実装をベンチマーク(リアルタイムではなく CPU 時間で)して最速のものを選び、ベンチマーク中にアルゴリズムが実際に動作するかも確認すべきだ。
そうだな、CUDA ハッシャーを実装しているときにこれを考えていた。ハッシュハンドラへのインターフェース(あるいは実装ごとの完全なマイナー)があるべきで、既知のブロックを渡して 1000個のナンスをハッシュさせ、結果を比較する、同時にベンチマークも取る、というシンプルな方法があるべきだ。実装はそれほど難しくないはずで、新しいアルゴリズムを開発するときに役立つだろう。
このインターフェーススキーマは、FPGA ベースのエンジンなどを組み込む場合にも役立つだろう。デフォルトのマイニングスキーマをいじらずに、コードへの特定のエントリポイントを持てる。