运行时

205 阅读1分钟

概念

运行时(Runtime)是那些会被打包到所有程序可执行文件中的代码,根据每个语言的设计权衡,运行时虽然有大有小,但是除了汇编之外,每个语言都拥有它。
运行时小的其中一个好处在于最终编译出的可执行文件会相对较小,同时也让该语言更容易被其它语言引入使用。

例子

  • 出于 Rust 的系统级使用场景,且要保证调用 C 时的极致性能,它最终选择了尽量小的运行时实现。 因此 Rust 只在标准库中提供了 1:1 的线程模型。(如果你愿意牺牲一些性能来换取更精确的线程控制以及更小的线程上下文切换成本,那么可以选择 Rust 中的 M:N 模型,这些模型由三方库提供了实现,例如大名鼎鼎的 tokio。)
  • Go 语言由于实现了协程和 GC,运行时相对就会更大一些。