运行时自由:Rust 的运行时系统和绿色线程模型已被完全删除,这将“hello world”的静态二进制大小减少了一半,并为标准库的低级挂钩打开了大门。由 Aaron Turon 实施。
http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html
绿色线程模型的缺点是什么?
为什么 Erlang 这么快?
运行时自由:Rust 的运行时系统和绿色线程模型已被完全删除,这将“hello world”的静态二进制大小减少了一半,并为标准库的低级挂钩打开了大门。由 Aaron Turon 实施。
http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html
绿色线程模型的缺点是什么?
为什么 Erlang 这么快?
Erlang 使用具有优先权的绿色线程。这是可能的,因为 Erlang 有一个 VM,它还允许很多其他的事情,比如代码热交换。但是带有 VM 的语言不适合系统编程,因为它们在内存和处理能力方面总是有一些恒定的开销。Rust 是一种系统编程语言,因此它不能有一个重要的运行时系统。我还要补充一点,Erlang 并不快。众所周知,它在数值计算中是无效的,例如 - 请参见此处。它的并发模型允许 I/O 操作的高吞吐量,但这是另一回事。
因此,为了以可行的方式支持绿色线程,语言必须具有某种运行时。Rust 中删除运行时的原因在相应的RFC中进行了概述。简而言之,当时 Rust 使用的运行时模型难以高效使用,难以改进,同时由于实现问题和 API 的普遍限制而没有足够的收益,因此被废弃。据我所知,原则上没有什么能阻止某人为 Rust 编写基于绿色线程的运行时,只是还没有人这样做。