• Parallel Power并行的力量(一个测试代码)


    Parallel
    1. using System;
    2. using System.Collections.Generic;
    3. using System.Diagnostics;
    4. using System.Linq;
    5. using System.Text;
    6. using System.Threading;
    7.  
    8. namespace ConsoleApplication2
    9. {
    10.     class Test
    11.     {
    12.         static void Main()
    13.         {
    14.             int max = 500;
    15.             var query = Enumerable.Range(0, max)
    16.                                   .Select(SlowProjection)
    17.                                   .Where(x => x > 10)
    18.                                   .AsParallel();
    19.             Stopwatch sw = Stopwatch.StartNew();
    20.             int count = query.Count();
    21.             sw.Stop();
    22.             Console.WriteLine("Count: {0} in {1}ms", count,
    23.                               sw.ElapsedMilliseconds);
    24.  
    25.             query = Enumerable.Range(0, max)
    26.                               .AsParallel()
    27.                               .Select(SlowProjection)
    28.                               .Where(x => x > 10);
    29.             sw = Stopwatch.StartNew();
    30.             count = query.Count();
    31.             sw.Stop();
    32.             Console.WriteLine("Count: {0} in {1}ms", count,
    33.                               sw.ElapsedMilliseconds);
    34.             Console.Read();
    35.         }
    36.  
    37.         static int SlowProjection(int input)
    38.         {
    39.             Thread.Sleep(100);
    40.             return input;
    41.         }
    42.     }
    43.  
    44. }

    这里比较了两种使用并行效率的比较,没有写顺序执行的原因你懂的.

  • 相关阅读:
    内置函数,闭包。装饰器初识
    生成器
    百度ai 接口调用
    迭代器
    HashMap与ConcurrentHashMap的测试报告
    ConcurrentHashMap原理分析
    centos 5.3 安装(samba 3.4.4)
    什么是shell? bash和shell有什么关系?
    Linux中使用export命令设置环境变量
    profile bashrc bash_profile之间的区别和联系
  • 原文地址:https://www.cnblogs.com/jinzhao/p/2159753.html
Copyright © 2020-2023  润新知