私はChudnovsky式からPiを計算するプログラムを持っています。これはJavaで書かれており、要素のインデックスを含む階乗やべき乗などの中間計算を保存するために使用される共有Vectorを使用します。共有メモリを使用する場合のプログラムの高速化
しかし、私はそれが同期のベクトル(デフォルトではスレッドセーフ)ですので、一つだけのスレッドが読み取りまたはそれに書き込むことができると信じています。だから、スピードアップを増やすのではなく、スレッドがたくさんある場合、計算時間が一定になることがわかります。
これを回避するためにできることはありますか?同じ共有メモリーに読み書きするスレッドが多すぎる場合はどうすればよいですか?
HashMapは本当に良いアイデアでした。私はそれを完全に忘れていました。それは私の計算済みのもののほとんどを保存するための明らかな完璧な選択でした – Mackiavelli