zoukankan      html  css  js  c++  java
  • StringBuild,StringFormat," "+" " 三种方法速度测试

    测试方式:

    Stopwatch sw = new Stopwatch();
    sw.Start();
    string tmp = "";
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < 10000; i++)
    {
        //tmp += "|" + i;
        sb.Append("|");
        sb.Append(i.ToString());
        //tmp = string.Format("{0}{1}{2}", tmp, "|", i);
    }
    sw.Stop();
    Console.WriteLine(sb.ToString());
    Console.WriteLine(sw.ElapsedMilliseconds);
    Console.Read();
    View Code

    创建一个1万次for循环,把i的数字相加,并以|分割。

    不同类型组合StringFormat会比+稍快一些。但是组合多了之后反而比+更慢。

    3个参数以内且不同类型或者格式复杂用StringFormat合适。(很长的字符串比"+"更慢)

    大于3个参数,相同类型比较多,用+。

    更加复杂考虑StringBuild

    名称 速度
    StringBuild 2ms
    StringFormat 655ms
    +和StringFormat配合 172ms
    + 181ms

    注:+和StringFormat配合是指:tmp += string.Format("{0}{1}", "|", i);

    string.format太过复杂或者嵌套,会导致性能非常慢。

    前两者与StringBuilder没有可比性,但StringBuilder会造成内存开销。

  • 相关阅读:
    rpm 命令详解
    自动配置原理
    ssm框架整合
    单个库创建用户和权限
    Mysql5.7安装过程
    Eclipse和JDK版本以及位数对应关系
    DHCP服务器
    常用Dos命令
    八、Linux上常用网络操作
    数据库分区表(转)
  • 原文地址:https://www.cnblogs.com/hont/p/4170516.html
Copyright © 2011-2022 走看看