• 对于大批量赋值功能,使用if判断是否能提高性能


    场景:

    如果对某变量进行赋值,是否需要判断一下,如果相等就不用赋值,这样会不会提高性能。

    代码如下:

     1             string a = "1234567890";
     2             string b = "1234567890";
     3 
     4             long x1=0, x2=0, x3=0;
     5 
     6             Stopwatch w = new Stopwatch();
     7 
     8             for (int x = 0; x < 10; x++)
     9             {
    10                 w.Reset();
    11                 w.Start();
    12                 for (int i = 0; i < 100000000; i++)
    13                 {
    14                     a = b;
    15                 }
    16                 w.Stop();
    17                 x1 += w.ElapsedMilliseconds;
    18                 
    19 
    20 
    21                 w.Reset();
    22                 w.Start();
    23                 for (int i = 0; i < 100000000; i++)
    24                 {
    25                     if(a != b)
    26                         a = b;
    27                 }
    28                 w.Stop();
    29                 x2 += w.ElapsedMilliseconds;                
    30 
    31 
    32                 w.Start();
    33                 for (int i = 0; i < 100000000; i++)
    34                 {
    35                     if (!a.Equals(b))
    36                         a = b;
    37                 }
    38                 w.Stop();
    39                 x3 += w.ElapsedMilliseconds;                    
    40             }
    41 
    42             System.Diagnostics.Debug.WriteLine(String.Format("直接赋值耗时:{0}ms", x1));
    43             System.Diagnostics.Debug.WriteLine(String.Format("判断赋值耗时:{0}ms", x2));
    44             System.Diagnostics.Debug.WriteLine(String.Format("判断赋值2耗时:{0}ms", x3));

    运行结果:

    直接赋值耗时:3294ms   
    判断赋值耗时:5955ms
    判断赋值2耗时:18244ms

    结论:

    判断后严重影响性能,所以无需判断,直接赋值。

  • 相关阅读:
    积分图像
    [悟] 因上努力,果上随缘(转)
    不要走的太匆忙( 转)
    一个程序员如何快速赚到一百万?(转)
    vi文字处理器
    Linux常用命令
    Hadoop之MapReduce
    Hadoop全分布模式操作
    Hadoop之HDFS
    Hadoop生态系统
  • 原文地址:https://www.cnblogs.com/march3/p/3205638.html
Copyright © 2020-2023  润新知