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 = ; void TestSb1() {
StringBuilder sb = new StringBuilder();
for (int i = ; i < m_count; ++i) {
sb.Append("Test_");
sb.Append(i);
m_result = sb.ToString();
}
} void TestSb2() {
for (int i = ; i < m_count; ++i) {
m_sb.Length = ;
m_sb.Append("Test_");
m_sb.Append(i);
m_result = m_sb.ToString();
}
}
void TestFormat() {
for (int i = ; i < m_count; ++i) {
m_result = string.Format("Test_{0}", i);
} } void TestAdd() {
for (int i = ; 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时,性能对比图:

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

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

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

综上所述:
StringBuilder的性能优于string.Format,但是需要格式化的东西不多时,性能差距不大。
据一本书上说:string.Format方法内部使用StringBuilder进行字符串的格式化的。
StringBuilder和string.Format性能对比的更多相关文章
- 不同Framework下StringBuilder和String的性能对比,及不同Framework性能比(附Demo)
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 阅读目录 介绍 环境搭建 测试用例 MSDN说明 ...
- String+,StringBuilder,String.format运行效率比较
实现String字符串相加的方法有很多,常见的有直接相加,StringBuilder.append和String.format,这三者的运行效率是有差异的,String是final类型的,每次相加都会 ...
- highcharts 大数据 String+,StringBuilder,String.format运行效率比较
实现String字符串相加的方法有很多,常见的有直接相加,StringBuilder.append和String.format,这三者的运行效率是有差异的,String是final类型的,每次相加都会 ...
- c# 字符串连接使用“+”和string.format格式化两种方式
参考文章:http://www.liangshunet.com/ca/201303/218815742.htm 字符串之间的连接常用的两种是:“+”连接.string.format格式化连接.Stri ...
- StringBuilder.AppendFormat(String, Object, Object) 方法
将通过处理复合格式字符串(包含零个或零个以上格式项)返回的字符串追加到此实例. 每个格式项都替换为这两个参数中任意一个参数的字符串表示形式. 说明: public StringBuilder Appe ...
- java字符串格式化性能对比String.format/StringBuilder/+拼接
String.format由于每次都有生成一个Formatter对象,因此速度会比较慢,在大数据量需要格式化处理的时候,避免使用String.format进行格式化,相反使用StringUtils.l ...
- C# 字符串拼接性能探索 c#中+、string.Concat、string.Format、StringBuilder.Append四种方式进行字符串拼接时的性能
本文通过ANTS Memory Profiler工具探索c#中+.string.Concat.string.Format.StringBuilder.Append四种方式进行字符串拼接时的性能. 本文 ...
- java String、String.concat和StringBuilder性能对比
看到网上有人已经做过对比,并且贴出了代码,然后我运行了之后发现跟我分析的结论差距很大.发现他的代码有个问题,UUID.randomUUID() 首次调用耗时会很高,这个耗时被计算给了String,这对 ...
- string中Insert与Format效率对比、String与List中Contains与IndexOf的效率对比
关于string的效率,众所周知的恐怕是“+”和StringBuilder了,这些本文就不在赘述了.关于本文,请先回答以下问题(假设都是基于多次循环反复调用的情况下):1.使用Insert与Forma ...
随机推荐
- zz将 VSTO 插件部署给所有用户
原文:zz将 VSTO 插件部署给所有用户 注:本文原作者 Misha Shneerson 是 VSTO 团队的工程师.原文可以在下列地址找到:http://blogs.msdn.com/mshnee ...
- Bull And Cows
package cn.edu.xidian.sselab.hashtable; import java.util.HashMap;import java.util.Map;import java.ut ...
- 疯狂java讲义笔记 2.3.7
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=&q ...
- [转]是String,StringBuffer还是StringBuilder?
原文链接. 相信大家对 String 和 StringBuffer 的区别也已经很了解了,但是估计还是会有很多同志对这两个类的工作原理有些不清楚的地方,今天我在这里重新把这个概念给大家复习一下,顺便牵 ...
- 贪心(数据结构):COGS 468. [NOI2010]超级钢琴
★★★☆ 输入文件:piano.in 输出文件:piano.out 简单对比 时间限制:2 s 内存限制:512 MB 超级钢琴 [问题描述] 小Z是一个小有名气的钢琴家,最近C博士送 ...
- android网络图片的下载
android网络图片的下载 /** * Get image from newwork * * @param path * The path of image * @return byte[] * @ ...
- 在javaweb中通过servlet类和普通类读取资源文件
javaweb有两种方式读取资源文件 在Servlet中读取,可以使用servletContext,servletContext可以拿到web所有的资源文件,然后随便读,但是这种方法不常用,尽量少在S ...
- smail 语法参考
Dalvik opcodes Author: Gabor Paller Vx values in the table denote a Dalvik register. Depending on th ...
- 传智播客课程——Lucene搜索引擎
Lucene不是一个现成的程序,类似文件搜索程序或web网络爬行器或是一个网站的搜索引擎.Lucene是一个软件库,一个开发工具包,而不是一个具有完整特征的搜索应用程序.它本身只关注文本的索引和搜索. ...
- crowd在更改IP后无法登录的问题
org.codehaus.xfire.fault.XFireFault: Client with address "192.168.1.222", and hostname &qu ...