c# - 提高性能或代码调优
问题描述
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);
}
}
}
我想修改这段代码,因为我遇到了性能问题,所以我想调整代码
解决方案
根据情况(应用分析或声明您的目标以让我们知道操作是否受 IO/CPU 限制),您可以使用 LINQ 或 PLINQ 或生产者-消费者模式。
对于 IO-bound 操作,LINQ 应该执行得更快。对于 CPU 限制,我更喜欢使用 Producer-Consumer 模式。
推荐阅读
- r - 闪亮反应表的递归变化
- iframe - 如何将Vue组件的样式注入iframe?
- html - 如何使用 Foundation 在 div 内居中文本?
- r - 在 SQL Server 中使用 RevoScaleR 包(多线程)函数创建 R 相关矩阵
- vba - Chartobject.Delete 没有删除图表?
- android-jobscheduler - Oppo Realme1 Job Schduler 定期工作的最小间隔为 1 小时
- regex - 匹配正则表达式并用特殊字符替换错误
- python - 带有列名变量的 Executemany() SQL-Update 语句
- python - Google 日历 API 无法获取事件 colorid - Python
- android - 如何强制 ORM lite 生成正确的 DELETE 查询?