zoukankan      html  css  js  c++  java
  • 艾伟_转载:string类与StringBuilder类性能比较 狼人:

    我们都知道StringBuilder的性能要比string类,是否具体测试过呢,我这里就给出这个程序供测试,一个是Timing类,用来计算时间的。另外一个类就是分别建立string,和stringbuider 类建立100,1000,10000,100000字符连接进行比较。

    using System;
    using System.Diagnostics;
    namespace DataStruct7
    {
    public class Timing
    {
    TimeSpan duration;
    //时间差
    public Timing()
    {
    duration
    = new TimeSpan(0);
    }
    //开始时间
    public void stopTime()
    {
    duration
    = Process.GetCurrentProcess().TotalProcessorTime;
    }
    //终止时间
    public void startTime()
    {
    GC.Collect();
    GC.WaitForPendingFinalizers();
    }
    //返回结果
    public TimeSpan Result()
    {
    return duration;
    }
    }
    }

    另外个类

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;

    namespace DataStruct7
    {
    class Program
    {
    static void Main()
    {
    int size = 100;
    Timing timeSB
    = new Timing();
    Timing timeST
    = new Timing();

    Console.WriteLine();
    for (int i = 0; i <= 3; i++)
    {
    timeSB.startTime();
    BuildSB(size);
    timeSB.stopTime();
    timeST.startTime();
    BuildString(size);
    timeST.stopTime();
    Console.WriteLine(
    "时间(单位毫秒)创建 StringBuilder " + "对象有 " +
     size
    +" 字符需要的时间: " + timeSB.Result().TotalMilliseconds);
    Console.WriteLine(
    "时间(单位毫秒)创建 String " + "对象有" +
    size
    + " 字符需要的时间: " + timeST.Result().TotalMilliseconds);
    Console.WriteLine();
    size
    *= 10;
    }
    }
    //创建StringBuilder连接
    static void BuildSB(int size)
    {
    StringBuilder sbObject
    = new StringBuilder();
    for (int i = 0; i <= size; i++)
    sbObject.Append(
    "a");
    }
    //创建string连接
    static void BuildString(int size)
    {
    string stringObject = "";
    for (int i = 0; i <= size; i++)
    stringObject
    += "a";
    }
    }
    }
  • 相关阅读:
    单链表
    队列
    产品经理们,遇到Bug请别十万火急
    2008年7月3日
    JS URL 参数
    NET 产品版权保护方案 (.NET源码加密保护)
    常用正则表达式
    网线接法
    C#创建多文档的界面
    TGE学习笔记04 billboard
  • 原文地址:https://www.cnblogs.com/waw/p/2157058.html
Copyright © 2011-2022 走看看