博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
string与StringBuilder之性能比较
阅读量:5981 次
发布时间:2019-06-20

本文共 1067 字,大约阅读时间需要 3 分钟。

知道“StringBuilderstring性能强”好多年了,近日无聊病发作,就把这两个家伙给动了手术:

using System;

using System.Text;

namespace ConsoleApplication1

{

    classProgram

    {

        staticvoid Main(string[] args)

        {

            int start = Environment.TickCount;    //计时打点

            fun1();

            int middle = Environment.TickCount;  //计时打点

            fun2();

            int end = Environment.TickCount;  //计时打点

            Console.WriteLine("string         运行时间 {0} ", 0.001 * (middle - start));

            Console.WriteLine("StringBuilder  运行时间 {0} ", 0.001 * (end - middle));

            Console.ReadKey();

        }

       

        //fun1fun2是两个结构功能相同的无聊耗时方法

        privatestaticvoid fun1()

        {

            for (int i = 0; i < 1000; i++)

            {

                string s = "";     

                for (int j = 0; j < 200; j++)

                {

                    s += "Outer index = ";

                    s += i;

                    s += " Inner index = ";

                    s += j;

                    s += " ";

                }

            }

        }

 

        privatestaticvoid fun2()

        {

            for (int i = 0; i < 1000; i++)

            {

                StringBuilder s = newStringBuilder();

                for (int j = 0; j < 200; j++)

                {

                    s.Append("Outer index = ");

                    s.Append(i);

                    s.Append("Inner index = ");

                    s.Append(j);

                    s.Append(" ");

                }

            }

        }

    }

}

可见区别之大。

用vs自带的性能分析工具分析如下(过程比较慢):

查看函数详细信息:

可见fun1明显比fun2的非独占分配数大,如果想进一步了解细节,可点击相应区域,结果如下

 接下去,你懂得。。。

 

转载于:https://www.cnblogs.com/Hollson/p/3276723.html

你可能感兴趣的文章
CentOS 6.x 快速安装L2TP ***
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
CF772E Verifying Kingdom
查看>>
测试驱动开发
查看>>
【Udacity】线性回归方程 Regression
查看>>
轻松实现远程批量拷贝文件脚本(女学生作品)
查看>>
【沟通之道】头脑风暴-女人的心思你别猜
查看>>
Windows Phone 8 开发资源汇总
查看>>
Git:配置
查看>>
神经系统知识普及
查看>>
Spring可扩展Schema标签
查看>>
c++ STL unique , unique_copy函数
查看>>
http://miicaa.yopwork.com/help/overall/
查看>>
浅谈关于特征选择算法与Relief的实现
查看>>
mybatis-spring 项目简介
查看>>
Wireshark抓取RTP包,还原语音
查看>>