posts - 11, comments - 9, trackbacks - 0, articles - 0
            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          我的評論

          re: Clojure 性能 tips(翻譯) steven.cui 2014-02-13 22:50  
          @Syeerzy
          具體性能提高多少可能跟jvm版本以及clj版本有區(qū)別,這個應(yīng)該還是在clojure1.3之前的文章,現(xiàn)在的版本估計已經(jīng)足夠聰明了,還是那句話過度優(yōu)化和過早優(yōu)化都是惡魔。@Syeerzy
          @wade
          目前我在研究erlang,java可以借鑒erlang的多進程并發(fā)思想來做,Actor/SEDA設(shè)計模型可以增加吞吐量和并發(fā),如果你有C和lua經(jīng)驗,可以參考云風的skynet,當然還可以考慮Scala或者Clojure,Scala本身支持函數(shù)式,更有Actor模型存在,也有很多國內(nèi)的朋友在用Scala寫游戲服務(wù)器。

          另外一個無鎖的消費生產(chǎn)者模型,Disruptor,如果你有能力自己實現(xiàn)Actor/SEDA模型,可以將Disruptor嫁接進來。

          游戲服務(wù)器的難度設(shè)計在于幾點:
          1.多服務(wù)器的通訊和穩(wěn)定,以及各種容錯機制,熱更新。
          2.快速迭代的測試模型和性能驗證模型。(解決上下文的關(guān)聯(lián)問題,我能想到的是盡量利用函數(shù)式語言來做)
          3.監(jiān)控和相應(yīng)的配置工具,目前Erlang的體系的確是很強大,幫你做了很多。

          至于XGameEnginne,我們之前的上線游戲,都是通過業(yè)務(wù)邏輯的方式分配線程,此方法不算是特別智能,但也在一定程度上可以解決部分并發(fā)的問題,其實Erlang來做的話也可以這么設(shè)計,但卻比Java有更好的辦法,畢竟Erlang對進程的開銷實在太小了。

          最后,選擇有很多,不要讓語言成為你的限制,當然這是扯淡,關(guān)鍵是要找合適的:D
          @rabee 有什么問題請講
          re: Clojure世界:Http Client steven.cui 2012-05-19 15:49  
          很棒的類庫,正在嘗試用clojure,嘗試著做些wrapper,的確是快速入門的方式。
          主站蜘蛛池模板: 综艺| 滦平县| 镇赉县| 大渡口区| 元阳县| 和林格尔县| 沙田区| 商水县| 德江县| 历史| 齐齐哈尔市| 江达县| 库伦旗| 喀喇沁旗| 阿克| 琼结县| 济宁市| 高青县| 时尚| 灌阳县| 咸丰县| 泗阳县| 永昌县| 鄄城县| 江源县| 梓潼县| 邢台县| 安溪县| 石屏县| 元朗区| 普陀区| 长宁县| 朔州市| 沂水县| 堆龙德庆县| 金沙县| 荣昌县| 云梦县| 高陵县| 宝兴县| 盐亭县|