私はいくつかのコレクションオブジェクト(辞書、リスト)に対してLinqを使用しました。したがって、基準に基づいて項目を選択する場合は、Linqクエリを記述してからlinqオブジェクトを列挙します。だから私の質問は、主なコレクションをループすることを取り除き、結果としてパフォーマンスを向上させるLinqです。LINQはループを排除してパフォーマンスを向上させますか?
答えて
絶対にありません。 LINQ to Objectsは内部的にループします - 他にどのように動作するのですか?一方
、LINQ は、これは必須です場合にのみ、第三一方でなど
データをストリーミングすることで、あなたが取ることができるいくつかのアプローチよりも、より効率的である、それは間接の余分な層を必要とする(すべてのイテレーターなど)を使用して、パフォーマンスに多少の影響を与えます。
LINQは、(うまくいけば)読みやすいコードを簡潔にするのに役立ちます。
バッキングデータ構造がスキャンよりも効率的な検索アルゴリズムをサポートしていない限り、カバーの下にループがあります。
LINQ to SQLを使用している場合、LINQは結局ado.netスタックの上にある追加レイヤーなので、パフォーマンスは少し悪くなります。
オブジェクトにlinqを使用している場合。 linqによって行われる最適化がありますが、最も重要なのは、生成されるとIEnumerableから結果を得るための "Yield"です。これは、リストが繰り返し処理されるのを待たなければならない標準的なアプローチより優れています。
LINQ to SQL:両方のクエリが同じになるまで真。すべてを取り戻してからLINQを使用してオブジェクトをフィルタリングする場合は、処理が遅くなる可能性があります。オブジェクトへのLINQ:既にプレフィックスリストがある場合、それは高速になりません。それは本当にシーンの裏に何が起こっているかによって大きく左右されます。 –
クエリを直接使用すると、コレクション全体がループされます。 クエリはフィルタに一致する要素のみを返すため、すべてが表示されません。 全体的なパフォーマンスは、関連するネストされたイテレータのために、おそらくヒットします。 クエリ結果にToList()を呼び出して、この結果を何回か使用した場合、パフォーマンスに優れた方がよいでしょう。
- 1. VBAはループなしでパフォーマンスを向上させます
- 2. ループを回避してパフォーマンスを向上させる
- 3. FIXレイヤーを削除してパフォーマンスを向上させる
- 4. マルチスレッドではパフォーマンスは向上しませんが、パフォーマンスは向上しません。
- 5. パフォーマンスを向上させる
- 6. パフォーマンスを向上させる
- 7. 入れ子のwhileループでパフォーマンスを向上させるには?
- 8. このループのパフォーマンスを向上させることはできますか?
- 9. LINQクエリのパフォーマンスを向上させる方法
- 10. ffmpeg - パフォーマンスを向上させるには?
- 11. django forループをテンプレートまたはビューで制限してパフォーマンスを向上させますか?
- 12. Pythonのループのパフォーマンスを向上させる
- 13. キャッシュは常にパフォーマンスを向上させますか?
- 14. インターン文字列はパーサーのパフォーマンスを向上させますか?
- 15. DAOSはDIIOPのパフォーマンスを向上させますか?
- 16. Kotlinはパフォーマンスを向上させますか?
- 17. #pragma exclude_renderersはパフォーマンスを向上させますか?
- 18. AsyncTaskは常にパフォーマンスを向上させますか?
- 19. はrequest_pipelineを使用して安心してパフォーマンスを向上させます(ルア)
- 20. は、ネステッド・ループを使用したSQLクエリのパフォーマンスを向上させる - PostgreSQLの
- 21. CALayerフィルタのパフォーマンスを向上させる
- 22. JavaScriptコードのパフォーマンスを向上させる
- 23. SQL - ピボットクエリのパフォーマンスを向上させる
- 24. JavaFX WebGLのパフォーマンスを向上させる
- 25. EXCEPTステートメントのパフォーマンスを向上させる
- 26. ウェブサイトのパフォーマンスを向上させる - ASP.NET
- 27. ボックスシャドーのパフォーマンスを向上させる
- 28. ASP.NETアプリケーションのパフォーマンスを向上させる
- 29. C#リストのパフォーマンスを向上させる
- 30. FileSystemWatcherのパフォーマンスを向上させる
LINQは魔法ではありません。 –
私は誰かがIEnumerableを一度帽子から引っ張っているのを見た..... –