先知cd——熱愛(ài)生活是一切藝術(shù)的開(kāi)始
寫(xiě)下來(lái)的都是資源,分享給互聯(lián)網(wǎng)~~均屬原創(chuàng)隨筆。 轉(zhuǎn)載引用請(qǐng)注明作者changedi。 喜歡應(yīng)用研究,熱愛(ài)編程,歡迎交流。
最近看了這篇文章 http://www.ibm.com/developerworks/cn/java/j-ropes/?S_TACT=105AGX52&S_CMP=techcsdn 作者比較了String和StringBuffer與Rope結(jié)構(gòu)的常用操作速度。并以實(shí)驗(yàn)證明了Rope的性能。我在自己的機(jī)器上實(shí)驗(yàn),同樣也證明了Rope的高效,但是作者沒(méi)有用StringBuilder和Rope做比較,所以我們不妨一試。 暫時(shí)的實(shí)驗(yàn)結(jié)果表明,就append和delete操作而言,StringBuilder勝過(guò)Rope,那么Rope的真正優(yōu)勢(shì)在哪里呢?時(shí)間倉(cāng)促,沒(méi)有深入研究,特此立一文,以后細(xì)看其結(jié)構(gòu)~~~ 我的測(cè)試代碼如下:
結(jié)果如下: 1.6120785922E10 1.0273193E7 2647639.0 9781992.0 只從數(shù)量級(jí)比較的話(huà),String的低效就不說(shuō)了,畢竟基于Char[]實(shí)現(xiàn)的,而StringBuffer比StringBuilder慢也可以理解,畢竟加入了同步的考慮,也算是為線程安全付出的代價(jià),但是所謂的樹(shù)型機(jī)制的Rope還是比不過(guò)StringBuilder啊~~~ Rope for Java 下載:點(diǎn)擊這里。 這里附加了文章中的測(cè)試代碼:點(diǎn)擊這里。
posted on 2010-01-25 15:20 changedi 閱讀(2224) 評(píng)論(4) 編輯 收藏 所屬分類(lèi): Java技術(shù)
Rope for java也是線程安全的,同步開(kāi)銷(xiāo)少不了。你拿它跟StringBuilder比就不大合適。 回復(fù) 更多評(píng)論
Rope還是比不過(guò)StringBuilder,Rope是同步的,StringBuilder不是同步的,性能上,當(dāng)然要差一點(diǎn)。 回復(fù) 更多評(píng)論
原來(lái)如此啊~~~~ 怪不得原文作者不比較呢~~~ 看來(lái)有必要認(rèn)真研究一下了~~ 回復(fù) 更多評(píng)論
為什么有StringBuilder不用卻要去用Rope,不累嗎 回復(fù) 更多評(píng)論
Powered by: BlogJava Copyright © changedi