私は複雑なアルゴリズムを 32 ビットから 64 ビットに移植しています。これは、Windows 7 64 ビットを実行している 8GB RAM の Core i5 マシンで計算するのに約 5 時間かかります。
このアプリケーションは .NET 4 をターゲットにしており、ループの約 60% でタスク並列ライブラリを使用し、BigInteger クラスを使用しています。
私は2つの数値範囲を扱っています:
- 0 から ulong.MaxValue (アルゴの約 50%)。
- 数十万桁の非常に大きな整数 (アルゴリズムの約 50%)。
これらの数値に対して実行される演算には、加算、減算、乗算、除算、対数、累乗が含まれます。
64 ビットに移植すると、コードをプロファイリングして時間を計ってパフォーマンスの向上を確認できるようになりますが、計算によって推定できるかどうかを知りたいと思っていました。
もしそうなら、同じことを説明するいくつかの記事をお勧めしてください。