Rope與StringBuilder的簡單比較
最近看了這篇文章 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的真正優(yōu)勢在哪里呢?時間倉促,沒有深入研究,特此立一文,以后細看其結構~~~
我的測試代碼如下:

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

結果如下:
1.6120785922E10
1.0273193E7
2647639.0
9781992.0
只從數(shù)量級比較的話,String的低效就不說了,畢竟基于Char[]實現(xiàn)的,而StringBuffer比StringBuilder慢也可以理解,畢竟加入了同步的考慮,也算是為線程安全付出的代價,但是所謂的樹型機制的Rope還是比不過StringBuilder啊~~~
Rope for Java 下載:點擊這里。
這里附加了文章中的測試代碼:點擊這里。
posted on 2010-01-25 15:20 changedi 閱讀(2225) 評論(4) 編輯 收藏 所屬分類: Java技術