星期五, 10月 10, 2008

嘗試到string相加的威力了

跑個字串相加迴圈直覺沒什麼
for (i=0;i<10;i++)
a += b;

不跑了5萬次才知覺得慢跑了30多秒
本以為是正常的 跑個5萬次很多啦
不過搞硬體的同事說其實這點小迴圈只是這小咖
電腦1秒內就可以算完

想了半天才想到
一定是相加時 是new了新的字串來接
所以多耗了需多時間及記憶體
馬上就改用.net裡的StringBuilder
StringBuilder aa = new StringBuilder();
for (i=0;i<50000;i++)
aa.apend(b);

才一按執行 就已經結束迴圈了
這速度也差太多了...
還以為自己沒按到執行
這下真嘗試到string相加的威力了

沒有留言: