沙漠中的魚

          欲上天堂,先下地獄
          posts - 0, comments - 56, trackbacks - 0, articles - 119
            BlogJava :: 首頁 ::  :: 聯系 :: 聚合  :: 管理

          遍歷查找性能測試報告(Map,Array,RBTree)

          Posted on 2011-04-15 13:39 沙漠中的魚 閱讀(968) 評論(0)  編輯  收藏 所屬分類: JavaJava基礎
           

           

          上次只測試查詢的性能,而且都是在最優的情況下進行,沒有考慮條他情況,這次重新修改了測試用例,把整個測試的各個過程描述出來(加載,排序,查找的效率)。

          場景:隨機生成5百萬條不同的記錄,而每條記錄不存在相同的情況。現在將這5百萬條記錄在不同的情況下進行測試。測試結果如下

          15百萬條記錄,總共查詢50萬次(查詢前50萬條記錄)

          數組性能測試加載花費:6.11

          數組性能測試排序花費:18.313

          數組性能測試查找花費:3.297

          數組性能測試共花費:27.72

          數組性能測試總共占:100005888 字節

          RBTree性能測試加載花費:53.644

          RBTree性能測試查找共花費:2.86

          RBTree性能測試共花費:56.504

          RBTREE性能測試共占用:240004864 字節

          MAP性能測試加載花費:7.282

          MAP性能測試查找花費:0.11

          MAP性能測試共花費:7.392

          MAP性能測試 共占用:173554048 字節

          25百萬條記錄,總共查詢5百萬次(每條記錄查詢一次)

          數組性能測試加載花費:6.078

          數組性能測試排序花費:17.642

          數組性能測試查找花費:33.049

          數組性能測試共花費:56.769

          數組性能測試總共占用 = 100005552 字節

          RBTree性能測試加載花費:54.8

          RBTree性能測試查找共花費:34.581

          RBTree性能測試共花費:89.381

          RBTREE性能測試共占用 = 240005024 字節

          MAP性能測試加載花費:6.501

          MAP性能測試查找花費:0.937

          MAP性能測試共花費:7.438

          MAP性能測試 共占用=173553888 字節

          35百萬條記錄,總共查詢5千萬次(每條數據查詢10次)

          數組性能測試加載花費:6.11

          數組性能測試排序花費:17.861

          數組性能測試查找花費:331.224

          數組性能測試共花費:355.195

          數組性能測試總共占用:99990456字節

          RBTree性能測試加載花費:53.097

          RBTree性能測試查找共花費:345.866

          RBTree性能測試共花費:398.963

          RBTREE性能測試共占用 = 240005248 字節

          MAP性能測試加載花費:7.235

          MAP性能測試查找花費:9.375

          MAP性能測試共花費:16.61

          MAP性能測試共占用:173554048字節

          測試文件地址:  /Files/aoneany/search2.rar

          ================================================================
             

          前面的測試算法中,有一個地方偷懶(直接使用String.CompareTo方法進行比較)導致查詢效率很差,現在對其進行優化,測試后的數據為:

           

          5百萬條記錄,總共查詢5百萬次(每條記錄查詢一次)

          數組性能測試加載花費:1.016

          數組性能測試排序花費:14.485

          數組性能測試查找花費:0.703

          數組性能測試共花費:16.204

           

          RBTree性能測試加載花費:20.705

          RBTree性能測試查找共花費:3.75

          RBTree性能測試共花費:24.455

           

          MAP性能測試加載花費:3.875

          MAP性能測試查找花費:1.516

          MAP性能測試共花費:5.391

          主站蜘蛛池模板: 特克斯县| 北辰区| 洪泽县| 庆阳市| 兴和县| 东乡族自治县| 新兴县| 淮滨县| 西充县| 江川县| 贡山| 鄯善县| 五寨县| 高邑县| 百色市| 临海市| 大理市| 清徐县| 巫溪县| 阿拉善左旗| 灌云县| 格尔木市| 罗山县| 天峨县| 凤阳县| 微山县| 普兰县| 陵川县| 兰溪市| 哈尔滨市| 墨江| 阿城市| 平顺县| 大庆市| 新绛县| 峨山| 南江县| 兴安县| 万年县| 西藏| 遂溪县|