性能开发杂谈之二 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的初始化数据
浙公网安备 33010602011771号