[转,想得到点儿解释]Erlang的并发性能也并非最强

发布于 2022-08-31 08:33:18 字数 786 浏览 30 评论 9

http://www.cyask.com/question.php?qid=467

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在并发、分布式编程中如此受推崇?我认为因为它本身是并发和并行在语义、处理上的一致,所以它编写此类程序更加方便。同时,它提供的是一个关于并发、并行以及分布式的统一的解决方案,而不仅仅是高并发。它的目的是构建有容错能力、有伸缩性的可靠系统,同时又能最简化编程工作。这就是它的真正的优势。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(9

喜爱纠缠 2022-09-02 05:13:58

erlang=语言级别稳定的分布式并行性能。这里强调说分布式并行,是和golang的单机多核并行区分。
很多其他语言都需要架构的配合。
缺点,erlang的生态中没有HDFS。

心病无药医 2022-09-02 05:12:39

使用Erlang,更重要的还是是看中它的安全稳定可靠吧,不是追求并发高效比其他平台好。

煮酒 2022-09-02 05:12:11

但是,语法?
er比ocaml的更漂亮

不知道自己理解的对不对。
谢谢大圣,

在线等

懒的傷心 2022-09-02 05:11:05

pypy 还不成熟

不知道自己理解的对不对。
谢谢大圣,在线等

疑心病 2022-09-02 05:10:22

Haskell
它提供的只是语法糖
只有一个缓慢的,无用的语法糖
不知道自己理解的对不对。
谢谢大圣,在线等

多孤肩上扛 2022-09-02 05:08:46

回复 1# prolj

   

诸如Haskell、OCaml + JoCaml,以及Python的PyPy,其实都能提供不弱于Erlang的并发能力。

但性能,不过我觉得 OCaml 最强
单从性能上来说,其实,依然 OCaml 最强

不知道自己理解的对不对。
谢谢大圣,在线等
希望大圣能够指导

娇俏 2022-09-02 05:02:04

单从并发性能上来说,Erlang还不是最强的。

我认为我赞同

酷遇一生 2022-09-01 22:22:23

很赞同这段论述!

╰ゝ天使的微笑 2022-09-01 01:45:13

因为它本身是并发和并行在语义、处理上的一致,所以它编写此类程序更加方便。同时,它提供的是一个关于并发、并行以及分布式的统一的解决方案,而不仅仅是高并发。它的目的是构建有容错能力、有伸缩性的可靠系统,同时又能最简化编程工作。这就是它的真正的优势。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文