代码之家  ›  专栏  ›  技术社区  ›  Budda

天冬氨酰:容器中的少量元素有意义吗?

  •  1
  • Budda  · 技术社区  · 15 年前
    public class ReplacementService : IReplacementService
    {
        public List<int> GetTeamReplacementWeight(int iTeamId)
        {
            IEnumerable<TeamReplacementGroup> groups = TeamReplacementGroup.GetTeamGroups(iTeamId);
            List<int> weights= groups
                .Select(group => group.GetWeight())
                .AsParallel()
                .ToList();
    
            return weights;
        }
    }
    

    “getweight”操作相对较小(对于1个对象,执行时间不能超过1毫秒)。

    如果集合大小在3-8个元素的范围内,使用“asparallel”是否有意义?我肯定会把它用于100个以上元素的序列,但对于小的…

    我担心的是,创建线程和等待线程完成所需的费用,以及将结果组合到一个数组中所需的费用,将比使用不同线程可能带来的好处消耗更多的资源。

    你认为我的关心有价值吗?

    欢迎有任何想法!

    1 回复  |  直到 15 年前
        1
  •  1
  •   brianc    15 年前

    你的担心听起来确实有效。你可以做一些测试/基准来确定? Here 是来自Microsoft的资源。