莊周夢蝶

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

          阻塞隊列的性能對比

          Posted on 2008-09-08 10:05 dennis 閱讀(5850) 評論(5)  編輯  收藏 所屬分類: javamy 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測試花費的時間,單位毫秒。
          結論:
          1、ArrayBlockingQueue性能優(yōu)于LinkedBlockingQueue,但是LinkedBlockingQueue是無界的。
          2、ArrayBlockingQueue和LinkedBlockingQueue的poll方法總是比offer方法快,并發(fā)越高,差距越大
          3、ArrayBlockingQueue和LinkedBlockingQueue的性能遠高于PriorityBlockingQueue,顯然優(yōu)先隊列在比較優(yōu)先級上的操作上耗費太多
          4、PriorityBlockingQueue的offer方法與poll方法的性能差距很小,基本維持在近似1:1

          評論

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

          2008-09-08 11:39 by advincenting
          單位應該是MS?

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

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

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

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

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

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

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

          2012-01-06 15:33 by 測試
          測試意義不大,應該比較1讀1寫 ,而后再測試多讀多寫, 如果超過8讀8寫意義就更加不大了,估計你的機器是不會配備如此多的cpu可以同時執(zhí)行那么多線程,從而造成線程切換時間的開銷遠大于本身隊列的性能
          主站蜘蛛池模板: 游戏| 河北省| 开远市| 遂昌县| 逊克县| 长岭县| 德州市| 饶阳县| 绍兴市| 来宾市| 凤翔县| 金昌市| 囊谦县| 东乌珠穆沁旗| 兴和县| 巴彦淖尔市| 祁门县| 平定县| 武川县| 民丰县| 龙门县| 云霄县| 微博| 察雅县| 西华县| 墨江| 电白县| 连江县| 观塘区| 湘阴县| 轮台县| 安仁县| 乌鲁木齐县| 会东县| 大宁县| 龙南县| 拉萨市| 铜川市| 贵德县| 托克逊县| 凤凰县|