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);
}
}
}
我想对这段代码进行改革,因为我遇到了性能问题,所以我想调整代码
答案 0 :(得分:-1)
根据情况(应用概要分析或声明目标以使我们知道操作是否受IO / CPU约束),可以使用LINQ或PLINQ或生产者-消费者模式。
对于IO绑定操作,LINQ必须执行得更快。对于CPU限制,我更喜欢使用Producer-Consumer模式。