zoukankan      html  css  js  c++  java
  • StringBuilder和string.Format性能对比

    本文由博主(YinaPan)原创,转载请注明出处:http://www.cnblogs.com/YinaPan/p/sbformat.html

    StringBuilder的性能优于string.Format,但是需要格式化的东西不多时,性能差距不大。

    using UnityEngine;
    using System.Collections;
    using System.Text;
    
    public class Test_sb_Format : MonoBehaviour {
        private StringBuilder m_sb = new StringBuilder();
        private string m_result = null;
        private int m_count = 1000;
    
        void TestSb1() {
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < m_count; ++i) {
                sb.Append("Test_");
                sb.Append(i);
                m_result = sb.ToString();
            }
        }
    
        void TestSb2() {
            for (int i = 0; i < m_count; ++i) {
                m_sb.Length = 0;
                m_sb.Append("Test_");
                m_sb.Append(i);
                m_result = m_sb.ToString();
            }
        }
        void TestFormat() {
            for (int i = 0; i < m_count; ++i) {
                m_result = string.Format("Test_{0}", i);
            }
    
        }
    
        void TestAdd() {
            for (int i = 0; i < m_count; ++i) {
                m_result = "Test_{0}" + i;
            }
        }
    
        void Update () {
            Profiler.BeginSample("TestSb1");
            TestSb1();
            Profiler.EndSample();
    
            Profiler.BeginSample("TestSb2");
            TestSb2();
            Profiler.EndSample();
    
            Profiler.BeginSample("TestFormat");
            TestFormat();
            Profiler.EndSample();
    
            Profiler.BeginSample("TestAdd");
            TestAdd();
            Profiler.EndSample();
        
        }
    }

    当count=1时,性能对比图:

    image

    当count=10时,性能对比图:

    image

    当count=100时,性能对比图:

    image

    当count=1000时,性能对比图:

    image

    综上所述:

    StringBuilder的性能优于string.Format,但是需要格式化的东西不多时,性能差距不大。

    据一本书上说:string.Format方法内部使用StringBuilder进行字符串的格式化的。

    本文由博主(YinaPan)原创或者转载,如若转载请务必注明出处,谢谢合作!
  • 相关阅读:
    ps | grep排除grep这个进程
    树莓派3B安装LEDE
    从路由器镜像中提取uImage头信息
    提取路由器固件中的squashfs
    javascript监听按键
    linux 英汉词典程序shell+postgresql版
    树莓派(centos7)安装mysql
    在线视频下载利器——youtube-dl
    使用curl自动签到百度贴吧
    极路由hc5661安装tcpdump
  • 原文地址:https://www.cnblogs.com/YinaPan/p/sbformat.html
Copyright © 2011-2022 走看看