我的任务是更新一些遗留代码,并且确实需要减少部分代码的运行时间。下面的列表经常加载。我已经设法将时间从大约一分钟减少到大约十五秒,但它确实需要进一步减少。以下代码行运行良好,但我正试图从中挤出一切。
List<MyObject> _moList = new List<MyObject>(DB.GetAll(queryString, parameters, MyObject.Extract));
_moList.AsParallel().ForAll(s => s.RelativeCost = GetRelativeCost(s));
所以我有几个问题。首先,是否可以将这两行合并为一行,如果可以,如何?其次,这样做会提高性能吗?
有些不是 MyObject 有大约 40 个属性(不确定这是否相关),而 GetRelativeCost 在时间/cpu 周期方面有些昂贵(因此并行运行)。
任何帮助将不胜感激!
PS 我也在其他角度工作,特别是试图降低 GetRelativeCost 的“成本”,但我需要让每个周期都能摆脱它,以使其为用户所接受。