开发者

Optimize a LINQ OrderByDescending query

开发者 https://www.devze.com 2023-01-12 05:28 出处:网络
I need to run a LINQ on a generic collection. The current query runs at a really slow pace... var patternsWithMaxLenArray = totalPatterns

I need to run a LINQ on a generic collection.

The current query runs at a really slow pace...

var patternsWithMaxLenArray = totalPatterns
    .Where
    (
        pattern => pattern.Contains(maxLen) &&
                   pattern.All(lenInPattern => curQuantities.Keys.Contains(lenInPattern)) &&
                   pattern.GroupBy(len => len).All(g => g.Count() <= curQuantities[g.Key])
    )
    .Select(pattern => new { pattern = pattern, sum = pattern.Sum() })
    .ToArray();

var patternsWithMaxLen = patternsWithMaxLenArray
    .OrderByDescending(patternsum => patternsum.sum)
    .Select(patternsum => patternsum.pa开发者_StackOverflow中文版ttern);

var iq = patternsWithMaxLen.First();


Measure Measure Measure. Strip everything out to the simplest query and measure it. Then add in bits at a time until you find 'the hole.'

0

精彩评论

暂无评论...
验证码 换一张
取 消