acm*_*ght 18 green-threads rust
运行时自由:Rust的运行时系统和绿色线程模型已被完全删除,它将"hello world"的静态二进制大小减少了一半,并打开了通向标准库的低级钩子的大门.由Aaron Turon实施.
http://blog.rust-lang.org/2015/01/09/Rust-1.0-alpha.html
绿色线程模型的缺点是什么?
为什么Erlang这么快?
Vla*_*eev 36
Erlang使用带有抢占的绿色线程.这是可能的,因为Erlang有一个VM,它还允许很多其他的东西,比如代码hotswap.但是具有VM的语言不适合系统编程,因为它们在内存和处理能力方面总是有一些不变的开销.Rust是一种系统编程语言,因此它不具备重要的运行时系统.我还要补充一点,Erlang并不快.例如,在数值计算中它是无效的 - 见这里.它的并发模型允许I/O操作的高吞吐量,但这是另一回事.
因此,为了以可行的方式支持绿色线程,语言必须具有某种运行时.Rust中运行时删除的原因在相应的RFC中列出.简而言之,Rust当时使用的运行时模型很难高效地工作,难以改进,而由于API的实现问题和一般约束而没有足够的好处,所以它被废弃了.据我所知,原则上没有任何东西可以防止有人为Rust编写一个基于绿色线程的运行时,但还没有人这么做.
| 归档时间: |
|
| 查看次数: |
8085 次 |
| 最近记录: |