當前位置:編程學習大全網 - 遊戲軟體 - 如何理解erlang的分布式和並發

如何理解erlang的分布式和並發

Erlang的並發性能也並非最強過去曾認為Erlang就代表高並發,高並發就代表高性能,同時認為Erlang就只是高並發的代名詞。其實,Erlang的並發性能也並非最強。首先Erlang的虛擬機是C寫的,其次諸如Haskell、OCaml + JoCaml,以及Python的PyPy,其實都能提供不弱於Erlang的並發能力。

同時Erlang在順序計算上的性能也不佳,甚至不能超過Python、Lua這類腳本語言(也許是和其本身的特殊性質有關)。所以就更落後於Haskell和OCaml這類可編譯的語言。然而即使並發和並行也需要順序計算,所以單從並發性能上來說,Erlang還不是最強的。

Erlang寫的Yaws這個Web服務器,雖然能承受高並發,但性能,尤其是IO性能依然無法與lighttpd、nginx這種C寫的Web服務相比——Erlang的虛擬機本身也是C寫的。

同時,Erlang本身設計為壹個結構化編程語言而非面向對象編程語言。這就令其較難應用更有開發效率的面向對象的項目開發流程和方法。

那麽為何Erlang在並發、分布式編程中如此受推崇?我認為因為它本身是並發和並行在語義、處理上的壹致,所以它編寫此類程序更加方便。同時,它提供的是壹個關於並發、並行以及分布式的統壹的解決方案,而不僅僅是高並發。它的目的是構建有容錯能力、有伸縮性的可靠系統,同時又能最簡化編程工作。這就是它的真正的優勢。

  • 上一篇:個體工商戶註冊需要哪些材料
  • 下一篇:中外運物流雲南有限公司怎麽樣
  • copyright 2024編程學習大全網