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