性能开发杂谈之二 StringBuilder

很多人都在鼓吹StringBuilder 相对于String类型进行字符串相加的操作的性能

但是,它真的有那么神奇吗,我们来个测试:
StringBuilder sb = new StringBuilder();
for(int i=0;i<=10000;i++)
{
   sb.Append("ssss");
}
测试结果,P42.8 ,1G内存,执行时间900毫秒左右,速度确实比str+="ssss"要快,但是请你小心的看一下你的CPU,他会给你一个意外的惊喜的!!!

换一种思路
StringBuilder sb = new StringBuilder(500);
for(int i=0;i<=10000;i++)
{
   sb.Append("ssss");
}
执行时间857毫秒左右,但是CPU的资源立刻降低了50%,为什么?

所以:执行StringBuilder的时候,请先确定一个内存分配空间~~

所以,当你要构造一个页面输出内容的话,还是放弃它吧,它能实现页面的更多个性化的东西,但请你注意一下,他本身就是一个性能杀手

JS可以满足你多样化的需求,服务器的成本可能会让人得不偿失

所以,尽量避免使用字符串构造内容,尽管他很方便,你可以通过JS在客户端来实现,而你,仅仅需要构造一个JS的初始化数据

posted on 2007-04-10 12:48  释然  阅读(224)  评论(0)    收藏  举报

导航

疯狂代码