0

どちらが速いか:スレッド(大きな数)でのラティス乗算の使用またはスレッド(大きな数)での一般的な乗算の使用

それらをテストするためのソースコードを知っていますか?

-----------------編集------------------ テスト用にCまたはJavaで実装する必要があります

4

1 に答える 1

1

私があなたを正しく理解しているなら、「格子乗算」は、子供が古典的な方法よりも理解しやすいと思われる、10進数の乗算を手で行う別の方法です。「一般的な掛け算」が古典的な方法だと思います。

だから本当に、私は最良の答えは次のとおりだと思います:

  1. 「格子乗算」も「一般的な乗算」も、コンピューターで乗算を行うための優れた(効率的な)方法ではありません。少数(最大2 ** 64)の場合は、組み込みのハードウェア乗算の方が適しています。数値が大きい場合は、数値を8ビットまたは32ビットのチャンクに分割するのが最適です...

  2. 非常に大きな数がない限り、マルチスレッドによって乗算が高速化される可能性はほとんどありません。スレッドを作成(またはリサイクル)するための固有のコストは、少数の理論的なスピードアップを圧倒する可能性があります。また、スレッドの数が多い(およびスレッドの数が多い)場合は、データをコピーする帯域幅について心配する必要があります。

並列乗算(Google)については少し資料がありますが、ほとんどが学術文献にあります...これは、ローエンドおよびハイエンドのコンピューティングに今日使用されている種類のハードウェアにとって実際にどれほど実用的であるかを示しているのかもしれません。

于 2011-02-14T05:44:06.513 に答える