最近LinqとPlinqについていくつかの対策を行いました。 私は、どのような状況でPlinqの大きな利点があるのか分かりません。PLINQの本当のメリットはありますか?
は私のような多くの例を見つけた:
Enumerable.Range(0, 10000).AsParallel().ForAll(_ => Thread.Sleep(50000));
それは10000の程度とparallizedすることができ、はい、その後10000倍高速になりますので、これは、全く役に立たない例であるが、それはビジネスで珍しいですアプリケーションを10000回ループして「IOジョブ」を作成します。
誰かが例を挙げることができる場合は、投稿してください。
PlinqはLinq to ObjectsとLinq to XMLでのみ利用可能です。 Webサーバー上で動作するアプリケーションでは使用しないでください(独自のスレッド管理があります)。 私たちのチャンスは、複数のコアを持つデスクトップアプリケーションに還元されます。
通常は、1秒に1回ずつ連続して実行されるlinqクエリを記述します。私はそれをparallizeして、それは本当に平行して実行されますが、より速くなりますが、誰が気に? まだ十分速いと思います。エンドユーザーは違いは見られません。
誰かがDBからすべてのデータを取得し、メモリ内でクエリを実行しているときの例を想像することができます。それから、役に立つかもしれませんが、それは間違ったデザインです。
TPLはasyncronプログラミングにとっては良いことですが、Plinqは便利なツールです。
誰もそれについて肯定的な経験をしていますか?あなたはPLINQから利益を得るている
*「パラレルが常に高速になるとは思わない」* ... [PLINQで潜在的な落とし穴](http://msdn.microsoft.com/en-us/library/dd997403%28v= vs.110%29.aspx)!! –
ありがとう、私はすでに見てきました:) – speti43
壊れていないものを修正する必要はありません。 PLINQは、マルチコアコンピュータ上の大規模なデータに対して意味をなさけることができます。 –