为什么Erlang进程创建和消息传递时间少于java和C#

Din*_*esh 6 erlang process

我正在通过互联网搜索Erlang的流程模型,并找到了一些图表替代文字 Joe Armstrong的一次演讲中滑行3-4.它们显示了Erlang,java和C#之间的进程创建和消息传递时间之间很多区别.谁能告诉我这么大的差异背后的原因 ?

Sch*_*ron 8

在Erlang中,进程不是真正的进程.它们是由语言处理的轻型结构.消息传递也由语言处理,尽可能使用共享内存.

另一方面,其他语言正在使用真正的线程/进程,因为它们没有像这样的内置光结构.因此,这些结构有点重,使用线程原语进行通信(较慢).

我不知道你的图表,但我想这表明Erlang的流程更好.它已经完成了对本质上不同的事情的比较,但它表明Erlang摇滚模拟使用消息进行通信的独立对象(在其他语言中你无法做到的事情).

  • 我不会说它使用共享内存,因为数据(几乎)总是在进程堆之间复制.虽然一切都发生在一个操作系统进程中. (5认同)