0

ユニオンとインターセクションに基づくエンティティ フレームワーク pocos の 2 つのコレクションを比較したいと思います。箱から出して、linq の代わりに f# を使用してこれらのセットを処理する方が良いかどうかを調べようとしていますか?

4

1 に答える 1

1

Set<'T>プロファイラーを実行する必要はありません。F# 3.0 は LINQ をサポートしているため、LINQ と標準の F# の両方を使用し、必要な操作を完了するまでの時間を測定する小さなベンチマーク プロジェクトをまとめることができます (System.Diagnostics.Stopwatchこのために使用します)。 )。

これが問題です。この質問に対する答えは、正確なニーズに大きく依存するためユースケースでどちらが高速かを確認するために少しテストを行う必要があります。たとえば、小さなベンチマーク アプリを作成し、LINQ (C# または F# 3.0) が 10 ミリ秒高速であることがわかった場合、LINQ の方が高速だからという理由だけで LINQ を使用しますか? 10 ミリ秒の節約がアプリケーションにとって重要かどうかによって異なります。ほとんどの場合、おそらくそうではないので、コードの残りの部分と統合するのが最も簡単なソリューションを使用する必要があります。

個人的には、ここでは F# 3.0 と LINQ を使用します。これは、非常に簡潔な定義が可能であり、EF が計算の一部またはすべてをデータベース サーバーにオフロードできる場合は高速になる可能性があるからです。

于 2013-01-27T14:52:36.470 に答える