提高性能或代码调整

时间:2018-08-20 12:08:27

标签: c# .net linq

public static List<vwStudentExtendedData> GetStudentExtendedData(List<int> studentIds, DateTime? queryDate, int? sectionId)
{
    var summaries = new List<vwStudentExtendedData>();
    var studentsIDsForSproc = new List<int>();
    foreach (var studentId in studentIds)
    {
        var cachedCopy = CacheHelper.GetFromCache<vwStudentExtendedData>(GetStudentSummaryCacheKey(studentId, queryDate, sectionId));
        if (cachedCopy == null)
        {
            studentsIDsForSproc.Add(studentId);
        }
        else
        {
            summaries.Add(cachedCopy);
        }
    }
}

我想对这段代码进行改革,因为我遇到了性能问题,所以我想调整代码

1 个答案:

答案 0 :(得分:-1)

根据情况(应用概要分析或声明目标以使我们知道操作是否受IO / CPU约束),可以使用LINQ或PLINQ或生产者-消费者模式。

对于IO绑定操作,LINQ必须执行得更快。对于CPU限制,我更喜欢使用Producer-Consumer模式。