問題タブ [plinq]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2201 参照

.net-3.5 - VS 2008 の PLinq はどこで入手できますか?

フレームワークに統合されているため、パッケージは Web から削除されたようです。ダウンロードして.net 3.5アプリケーションで使用できるダウンロードサイトを教えてもらえますか?

0 投票する
3 に答える
1179 参照

c# - 大規模なコレクションの i4o と PLINQ の比較

i4o または PLINQ の経験がある方に質問があります。クエリに必要な大きなオブジェクト コレクション (約 400K ) があります。ロジックは非常に単純明快です。たとえば、Person オブジェクトのコレクションがあり、同じ firstName、lastName、datebirth、または FirstName/lastname の最初のイニシャルなどに一致する人を見つける必要があります。これは、LINQ to Object を使用した時間のかかるプロセスです。

私はi4o (http://www.codeplex.com/i4o)かどうか疑問に思っています

または PLINQ は、クエリのパフォーマンスの向上に役立ちます。どちらの方がよいですか?そして、そこに何かアプローチがあれば。

ありがとう!

0 投票する
2 に答える
736 参照

c# - PlinqはLinqとは異なる結果をもたらします-私は何を間違っているのですか?

誰かがこれのための正しいPlinqコードが何であるかを教えてもらえますか?二重配列の各要素の正弦の絶対値の平方根を合計していますが、Plinqは間違った結果を示しています。

このプログラムからの出力は次のとおりです。

Linqアグリゲート=75.8310477905274(正しい)Plinqアグリゲート= 38.0263653589291(本来の約半分)

私は何か間違ったことをしているに違いありませんが、私は何を理解することができません...

(これは、Core 2 Duo Windows 7x64PC上のVisualStudio2008で実行しています。)

コードは次のとおりです。

0 投票する
3 に答える
1505 参照

linq - F#およびPLINQ拡張メソッド

F#の最新リリースを深く掘り下げながら、PLINQと相互作用させようとしました。ただし、コード的には、この2つがうまく連携していないことに気づきました。実際、次のようなコードを書くことは不可能のようでした。

System.Linq.ParallelEnumerableクラスに含まれているParallelQueryの拡張メソッドがF#によって取得されていないようだったためです。
拡張メソッドがまったくサポートされていなくても驚かないでしょうが、IEnumerable用に定義されたsomeArray.Count拡張メソッドにアクセスできるので、なぜPLINQの拡張メソッドにアクセスできないのでしょうか。
私は何かが足りないのですか?
これはF#の制限ですか?もしそうなら、それはデザインによるものですか?そうでない場合は、将来のリリースで対処されますか?

0 投票する
2 に答える
312 参照

.net-4.0 - 子タスクを実行および生成するときの一貫性のない結果

メインスレッドが新しいタスクを作成している単純なコードがあります。次に、タスクは複数の子タスクを生成します。メイン スレッドは、親タスクで「待機」を行います。プログラムを複数回実行しても同じ出力が得られないことに気付きました。以下のコードでは、各タスクの反復変数の値を出力していますが、異なる実行ではサブセットのみが出力されます。実行が順序付けられていないことは理解していますが、100 個の数字が出力されることを期待しているため (特定の順序ではありません)、実行を完了する必要があります。Wait を呼び出すと、すべての子タスクが完了するまで待機しませんか? VS2010 Team system Beta1 を実行しています

0 投票する
1 に答える
1072 参照

c# - PLINQの問題/マルチスレッドのロックフリーリストを実装するための手法(C#)

問題のコードは次のとおりです。

実行時に、そのコードはlevelNodesにnull参照を残すことがあります。ForAllの代わりに通常の(非並列の)ForEachが呼び出されると問題が解消されるため、これはスレッドロックが原因であると思われます。

PLINQの実装では、'levelNodes.Add(child);' また、「ソース配列の長さが十分ではありませんでした。srcIndexと長さ、および配列の下限を確認してください。」というメッセージとともにIndexOutOfRangeExceptionがスローされることもあります。

この問題を解消するための提案はありますか?
それとも、ロックフリーのリストを実装することでパフォーマンスが向上するでしょうか?(これについてはどうすればよいでしょうか?)

0 投票する
1 に答える
1755 参照

.net - NUnit が PLINQ コードをテストした後に AppDomainUnloadedException を防ぐにはどうすればよいですか?

を診断して最小化または防止するにはどうすればよいAppDomainUnloadedExceptionですか?

NUnit 2.5.2 はAppDomainUnloadedException、PLINQ を含む長い (10 秒を超える) テストの後、一貫してスローします。

2008 年 7 月にさかのぼると、Stephen Toub は次のように述べています。

はい、CTP のスケジューラはスレッドの中止を適切に処理しません。これにより、シャットダウン中のドメインにライブ スケジューラが存在する場合にプロセスがクラッシュすることがよくあります (AppDomain のシャットダウンにより、そのドメイン内のスタック フレームを持つすべてのスレッドでスレッドが中止されるため)。 )。将来のリリースに向けてこれを強化するために取り組んでいます。

次のような多くの回避策を試しました。

  • 別のメソッドでテストを実行して、浮遊参照を排除する
  • /domain:NoneNUUnit 引数として指定する
  • legacyUnhandledAppDomainPolicy要素を削除するnunit-console.exe.config

パラメトリック テストを高速化するには PLINQ が必要なため、競合状態の可能性を減らすためにNUnit をバックグレードすることはできません。問題のない NUnit のバージョンは、パラメトリック テストをサポートしていません。

0 投票する
4 に答える
1014 参照

c# - マルチコア マシンでの .NET 操作の非線形スケーリング

一連のメモリ内データに対して高度な並列処理を実行する .NET アプリケーションで奇妙な動作が発生しました。

マルチコア プロセッサ (IntelCore2 Quad Q6600 2.4GHz) で実行すると、データを処理するために複数のスレッドが開始されるため、非線形スケーリングが発生します。

シングル コアで非マルチスレッド ループとして実行すると、プロセスは 1 秒あたり約 240 万回の計算を完了できます。4 つのスレッドとして実行すると、4 倍のスループット (1 秒あたり約 900 万回の計算) が期待できますが、残念ながら違います。実際には、1 秒あたり約 410 万回しか完了しません。予想されるスループットにはかなり足りません。

さらに、この動作は、PLINQ、スレッド プール、または明示的に作成された 4 つのスレッドのいずれを使用しても発生します。かなり奇妙...

CPU 時間を使用してマシン上で実行されているものは他にありません。また、計算に関与するロックやその他の同期オブジェクトもありません。データを先に進める必要があります。プロセスの実行中に perfmon データを見て、これを (可能な範囲で) 確認しました ... スレッドの競合やガベージ コレクション アクティビティは報告されていません。

現時点での私の理論:

  1. すべての手法 (スレッド コンテキスト スイッチなど) のオーバーヘッドが計算を圧倒します。
  2. スレッドは 4 つのコアのそれぞれに割り当てられておらず、同じプロセッサ コアでの待機に時間を費やしています。この理論をテストする方法がわかりません...
  3. .NET CLR スレッドが予期した優先度で実行されていないか、内部オーバーヘッドが隠れています。

以下は、同じ動作を示すコードからの代表的な抜粋です。

0 投票する
2 に答える
337 参照

c# - C#でのPLINQOオブジェクトの逆シリアル化に関する問題

LINQOオブジェクトを逆シリアル化するために多くの方法を試しましたが、すべてのメソッドが失敗しました。これが最後のコードの例です。

しかし、今、次のエラーが発生します。

タイプ「SalesNetData.Country」は、IsReference設定が「True」であるため、JSONにシリアル化できません。参照を表すための標準化された形式がないため、JSON形式は参照をサポートしていません。シリアル化を有効にするには、タイプまたはタイプの適切な親クラスのIsReference設定を無効にします。

助けてください.....

0 投票する
5 に答える
19442 参照

c# - 正確にはPLINQとは何ですか?

PLINQは、LINQの拡張機能として.NET4.0フレームワークに追加されました。

  • それは何ですか?
  • それはどのような問題を解決しますか?
  • それが適切なのはいつですか、そうでないのはいつですか?