string与StringBuilder拼接字符串的性能差距有多大

string与StringBuilder拼接字符串的性能差距有多大之前也看过一些对string与StringBuilder的性能分析,总感觉这个应该对整体性能不会产生多大的影响,所以就一直没有关注这块!由于学程序初期最先接触的string拼接,所以就一直没改变过自己的习惯!前段时间抽时间写了一个CMS系统,一开始的时候每秒钟大概能生成200条新闻,可是后来由于新闻系统与购物系统整合后,发现生成速度突然就掉下来了最快的时候每秒钟也就生成130多条新闻,按照正常的情况下不应该会出现这个问题的,于是从后期整合的代码里面找原因,由于生成新闻的时候,我们都要提取相关商品的相关信息并输出,而且这些都是用string进行拼接的,由于拼接的次数比较频繁,突然就想到了这个string与StringBuilder的性能的问题,于是我粗略的做了一个小小的测试!用StringBuilder循环的拼接10000次字符串需要的时间为0到1毫秒!代码如下:longtt=long.Parse(DateTime.Now.ToString("yyyyMMddHHmmssfff"));StringBuilderstart=newStringBuilder();for(intj=0;j<10000;j++){start.Append("测试测试测试测试测试测试测试测试测试测试测试测试");}longmm=long.Parse(DateTime.Now.ToString("yyyyMMddHHmmssfff"));Response.Write(Convert.ToString(mm-tt));用string循环的拼接100000次字符串需要的时间为5500到6000毫秒!代码如下:longtt=long.Parse(DateTime.Now.ToString("yyyyMMddHHmmssfff"));stringstart=string.Empty;for(intj=0;j<10000;j++){start+="测试测试测试测试测试测试测试测试测试测试测试测试";}longmm=long.Parse(DateTime.Now.ToString("yyyyMMddHHmmssfff"));Response.Write(Convert.ToString(mm-tt));我原本用的是100000次拼接做的测试,StringBuilder仅用了30毫秒,但是用string拼接就执行几分钟没有执行完,所以我就改用10000次来做试验了!简单的可以概括为,string拼接的次数越多,速度则越慢,而StringBuilder则几乎不怎么变化!string与StringBuilder的性能问题看上去可能很多人觉得没什么,但是一旦操作的次数多了,那么速度就很明显的显示出来了!于是我把所有的关于string的操作都改成了StringBuilder来操作,再看CMS的生成速度可以达到每秒钟生成300条新闻了!声明:我们的CMS是在配置为windows2003vps服务器,内存为1G,数据库为Sqlserver2000,新闻数据量为:20万的的情况下进行测试的,这样基本已经可以满足我们的要求了!写程序注意细节,尤其是在搭建比较大型的项目时,细节可能就决定了成败!

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供参考,付费前请自行鉴别。
3、如文档内容存在侵犯商业秘密、侵犯著作权等,请点击“举报”。

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

客服邮箱:

biganzikefu@outlook.com

所有的文档都被视为“模板”,用于写作参考,下载前须认真查看,确认无误后再购买;

文档大部份都是可以预览的,笔杆子文库无法对文档的真实性、完整性、准确性以及专业性等问题提供审核和保证,请慎重购买;

文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为依据;

如果您还有什么不清楚的或需要我们协助,可以联系客服邮箱:

biganzikefu@outlook.com

常见问题具体如下:

1、问:已经付过费的文档可以多次下载吗?

      答:可以。登陆您已经付过费的账号,付过费的文档可以免费进行多次下载。

2、问:已经付过费的文档不知下载到什么地方去了?

     答:电脑端-浏览器下载列表里可以找到;手机端-文件管理或下载里可以找到。

            如以上两种方式都没有找到,请提供您的交易单号或截图及接收文档的邮箱等有效信息,发送到客服邮箱,客服经核实后,会将您已经付过费的文档即时发到您邮箱。

注:微信交易号是以“420000”开头的28位数字;

       支付宝交易号是以“2024XXXX”交易日期开头的28位数字。

确认删除?