【发布时间】:2014-02-14 11:00:10
【问题描述】:
代码:
testItemList = testResults.Select(item => project.Store.GetWorkItem(item.TargetId)).ToList();
testItemList 是 (局部变量)列表 testItemList
testResults 是 (局部变量)WorkItemLinkInfo[] testResults
总共有 610 个工作项。如何减少执行时间?截至目前,执行这行代码需要 20 秒。 如何微调以上代码,从而减少执行时间?
【问题讨论】:
-
610 非常非常小。这些是从数据库加载的吗?也许你有一个 N+1 问题,而这 610 次迭代就是 610 次查询。
-
@SimonWhitehead,不,这些项目是从 TFS 加载的。
-
你能粘贴
project.Store.GetWorkItem(item.TargetId)吗?这些调用可能很昂贵。 -
请告诉我们
GetWorkItem。如果它是外部 API 的一部分……至少解释一下它的作用。 -
@SimonWhitehead,
GetWorkItem来自Microsoft.TeamFoundation.WorkItemTracking.Client