[解決済み] withPoolと並列
2022-02-15 14:25:14
質問
の使い方の例を見つけました。
withPool
. という単語を追加するだけで良いと書かれています。
Parallel
のようなGroovyのメソッドに
collect, find, each
の中に入れてください。
withPool
で、そのコードを並列実行します。
import static groovyx.gpars.GParsPool.withPool
list = 1..1000000
withPool{
squares = list.collectParallel { it * it}
}
println squares
本当に平行かどうか確認する方法はありますか?
同じコードでベンチマークテストをしてみましたが、シーケンシャルな方法です。
で、並列の方がずっと遅かったです。
解決方法は?
の意味がよくわかりません。 しかし、シーケンシャルと並列の方法は、はるかに遅かった」。 ...
これは並列で実行されますが、この単純な例では、他のプロセッサにジョブを発行したり、結果の順序を処理する余分なコストがかかるため、単にいくつかの数字を掛けるよりも時間がかかると思われます。
動作することを示す単純な例としては、次のようなことができます。
import static groovyx.gpars.GParsPool.withPool
list = [ 2, 2, 2, 2, 2 ]
withPool{
result = list.collectParallel {
Thread.sleep( it * 1000 )
it
}
}
println result
したがって、結果は次のようになります。
[2,2,2,2,2]
しかし
collectParallel
を使うと、10秒以内に終了するはずです。
collect
バージョン
もちろん、これは複数のコアを持っているかどうかに依存します ;-)
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン