莊周夢蝶

          生活、程序、未來
             :: 首頁 ::  ::  :: 聚合  :: 管理

          阻塞隊列的性能對比

          Posted on 2008-09-08 10:05 dennis 閱讀(5850) 評論(5)  編輯  收藏 所屬分類: java 、my open-source

          主要是比較offer跟poll兩個方法的性能,開N個線程,每個線程往隊列里寫或者取500個整數(shù)。

          線程數(shù)
          20
          50
          100
          200
          500 1000
          LinkedBlockingQueue     
          15,0
          31,15
          32,16
          63,32
          203,47
          563,110
          ArrayBlockingQueue 15,0
          16,15
          31,15
          47,16
          125,47
          364,68
          PriorityBlockingQueue 78,78
          172,188
          360,422
          813,969
          3094,2641
          6547,5453

          逗號前的數(shù)字是offer測試花費的時間,逗號后的數(shù)字是poll測試花費的時間,單位毫秒。
          結(jié)論:
          1、ArrayBlockingQueue性能優(yōu)于LinkedBlockingQueue,但是LinkedBlockingQueue是無界的。
          2、ArrayBlockingQueue和LinkedBlockingQueue的poll方法總是比offer方法快,并發(fā)越高,差距越大
          3、ArrayBlockingQueue和LinkedBlockingQueue的性能遠(yuǎn)高于PriorityBlockingQueue,顯然優(yōu)先隊列在比較優(yōu)先級上的操作上耗費太多
          4、PriorityBlockingQueue的offer方法與poll方法的性能差距很小,基本維持在近似1:1

          評論

          # re: 阻塞隊列的性能對比  回復(fù)  更多評論   

          2008-09-08 11:39 by advincenting
          單位應(yīng)該是MS?

          # re: 阻塞隊列的性能對比  回復(fù)  更多評論   

          2008-09-08 11:48 by dennis
          @advincenting
          是的,補(bǔ)充下

          # re: 阻塞隊列的性能對比  回復(fù)  更多評論   

          2008-11-18 17:23 by wangzm
          你們誰抄襲誰的???
          http://dennis-zane.javaeye.com/blog/238431

          # re: 阻塞隊列的性能對比  回復(fù)  更多評論   

          2008-11-18 17:59 by dennis
          @wangzm
          你沒看見dennis?那是我在javaeye的blog

          # re: 阻塞隊列的性能對比  回復(fù)  更多評論   

          2012-01-06 15:33 by 測試
          測試意義不大,應(yīng)該比較1讀1寫 ,而后再測試多讀多寫, 如果超過8讀8寫意義就更加不大了,估計你的機(jī)器是不會配備如此多的cpu可以同時執(zhí)行那么多線程,從而造成線程切換時間的開銷遠(yuǎn)大于本身隊列的性能
          主站蜘蛛池模板: 青州市| 麦盖提县| 延长县| 滦南县| 盘锦市| 锦屏县| 武邑县| 铜鼓县| 崇左市| 乌拉特前旗| 襄汾县| 葫芦岛市| 长乐市| 克山县| 长阳| 石阡县| 襄城县| 克什克腾旗| 兰溪市| 安平县| 大竹县| 涡阳县| 库尔勒市| 陆丰市| 汾阳市| 济源市| 云林县| 奉节县| 滦南县| 云霄县| 彭州市| 苗栗市| 阜阳市| 南召县| 鹤山市| 平乐县| 华容县| 曲阜市| 临武县| 分宜县| 东乌珠穆沁旗|