一直認為string拼接大字串時用stringbuffer能比直接用+號效能更高,今天偶然發現不竟然,是有前提的。如果string物件沒用重新賦值,而是一次性把字串拼接好賦值給string變數時效能是最高的(第二個例子string2)。如果string使用的是+=重新賦值,這時效能確實要比stringbuffer慢2-3倍左右(第乙個例子string1)。
public執行結果:static
void
main(string args)
long endtime =system.currenttimemillis();
system.out.println(string.format("string+ 1 cost: %s millis", (endtime -starttime)));
starttime =system.currenttimemillis();
for (int i = 0; i < 100000; i++)
endtime =system.currenttimemillis();
system.out.println(string.format("string+ 2 cost: %s millis", (endtime -starttime)));
starttime =system.currenttimemillis();
for (int i = 0; i < 100000; i++)
endtime =system.currenttimemillis();
system.out.println(string.format("stringbuffer cost: %s millis", (endtime -starttime)));
}
常用String字串拼接的效能比較與分析
平時編寫 的過程中,免不了string字串的拼接,特別是需要拼接sql語句的時候 本人平時用的比較多的方式有 1 string1 string2 2 stringbuffer 3 string1.concat string2 為了放大效能差距 每種方式迴圈十萬次 方式1 test public vo...
字串拷貝函式的效能比較
先上結論 memcpy效能 優於 snprintf效能 優於 strncpy效能 memcpy效能略優於snprintf,strncpy比前兩者慢的非常多,基本上是撈不回來了。編譯器 gcc version 3.4.5 a little old fashion 沒有編譯器優化 測試 int strn...
python字串過濾效能比較5種方法
python字串過濾效能比較5種方法比較 總共比較5種方法。直接看 import random import time iuddzkoaiyomport os import string base string.digits string.punctuation total 100000 def l...