简体   繁体   English

为什么Erlang适用于软实时应用程序,但不适用于硬实时?

[英]Why Erlang is suitable for soft real-time applications, but not for hard real-time?

或者也许它对硬实时也有好处?

Garbage collection can lead to pauses of unpredictable duration; 垃圾收集可能导致暂停不可预测的持续时间; as such, you can't put hard upper bounds on latency. 因此,你不能在延迟上设置硬上限。 The definition of hard real time is basically that you can set hard bounds on latency, so this is a problem. 硬实时的定义基本上是你可以设置延迟的硬边界,所以这是一个问题。

Oh, nobody has answered why it is good for soft realtime though: 哦,没有人回答为什么它对软实时有益:

In Erlang, each process has its own garbage collector. 在Erlang中,每个进程都有自己的垃圾收集器。 So if the processes each are kept with a rather small heap, then GC pauses tend to be very small and this gives a really good realtime behaviour. 因此,如果每个进程都保留了相当小的堆,那么GC暂停往往非常小,这给出了非常好的实时行为。

Vincenzo Nicosia在2008年发表了一篇关于HRT erlang(HARTE)工作的演讲,该演讲还描述了当前BEAM的硬实时等问题。看看http://www.erlang.org/workshop /2007/proceedings/05nicosi.pdf

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM