qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請訪問 http://qaseven.github.io/

          Erlang 進程創(chuàng)建性能測試

           測試代碼來自 Progremming Erlang。
            Erlang: R13B (erts-5.7.1), 啟動參數(shù) +P 5000000
            系統(tǒng): Window XP
            CPU: E8200 2.66G 雙核
            內(nèi)存: 4G
          Erlang R13B (erts-5.7.1) [smp:2:2] [rq:2] [async-threads:0]
          Eshell V5.7.1  (abort with ^G)
          1> c(processes).
          {ok,processes}
          2> processes:max(1000000).
          Maximum allowed processes:5000000
          Process spawn time = 2.703(2.688) microseconds
          ok
          3> processes:max(1000000).
          Maximum allowed processes:5000000
          Process spawn time = 3.203(2.938) microseconds
          ok
          4> processes:max(1000000).
          Maximum allowed processes:5000000
          Process spawn time = 3.25(3.015) microseconds
          ok
            結(jié)果:
            創(chuàng)建100W,平均3us左右。因為物理內(nèi)存比較多。測試時內(nèi)存高峰在1.2G左右, 由此可以估計一下進程的內(nèi)存消耗。
            測試創(chuàng)建200W, 150W都不能正常運行。測試時,內(nèi)存到1.8G以上時,werl進程死循環(huán)。不能結(jié)束。
            在WINDOW下,單進程的內(nèi)存不能超過2G。可見,進程的上限也就100W多一點吧。如果加上其它開銷。單個結(jié)點能創(chuàng)建的進程數(shù)量還會少很多。
            看下測試代碼 for函數(shù)的編寫并不是最優(yōu)化的方式,改成尾遞歸形式:
            for(I, N, F) -> for_h(I, N, F, []).
            for_h(_N, _N, _, L) -> L;
            for_h(I, N, F, L) -> for_h(I+1, N, F, [F()|L]).
            再測試:
          5> c(processes).
          {ok,processes}
          6> processes:max(1000000).
          Maximum allowed processes:5000000
          Process spawn time = 1.891(1.64) microseconds
          ok
          7> processes:max(1000000).
          Maximum allowed processes:5000000
          Process spawn time = 2.266(1.641) microseconds
          ok
          8> processes:max(1000000).
          Maximum allowed processes:5000000
          Process spawn time = 2.234(1.625) microseconds
          ok
            結(jié)果在2us左右,看來尾遞歸還是影響挺大。

          posted on 2014-07-08 13:17 順其自然EVO 閱讀(270) 評論(0)  編輯  收藏 所屬分類: 測試學習專欄

          <2014年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導航

          統(tǒng)計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 舟山市| 馆陶县| 神木县| 洛南县| 黑河市| 南靖县| 交城县| 讷河市| 绥江县| 宣化县| 慈利县| 泉州市| 金塔县| 黄大仙区| 商南县| 木里| 高邮市| 安乡县| 娄底市| 平武县| 德令哈市| 长武县| 抚顺市| 南通市| 临邑县| 庆元县| 苍南县| 赫章县| 大港区| 曲沃县| 成安县| 平武县| 公主岭市| 新疆| 鲜城| 城步| 静安区| 杂多县| 石首市| 察隅县| 恭城|