Rust不适合大并发?


对于大规模并发用户空间软件来说,Rust 可能不是一个好工具 (bitbashing.io):

  • 本文讨论了使用异步 Rust 实现并发的挑战和限制。它解释了并行性和并发性之间的区别,以及如何将问题分解为单独的、独立的部分来提高性能。
  • 作者探讨了线程和基于互斥锁的并发的使用,强调了其中的缺点和复杂性。
  • 然后,他们介绍了通道作为同步机制的概念,并讨论了有多少现代语言(包括 Rust)在其标准库中提供了通道。
  • 本文还深入探讨了异步 Rust 的独特挑战,例如需要确保编译器的数据安全以及使用 Arc 实现动态生命周期的限制。

总的来说,作者认为虽然 Rust 可能不是大规模并发、用户空间软件的最佳工具。

作者讨论了他们使用 Rust 开发高性能 Metaverse 客户端的经验。他们强调了 Rust 在内存安全和并发性方面的优势,并指出在过去三年中他们遇到的运行时错误非常少。

然而,他们也提到了 Rust 可以改进的一些领域,例如需要静态死锁分析器以及通过反向引用更好地支持单一所有权。作者还将 Rust 的图形生态系统与其他语言进行了比较,并表达了使用 Rust 进行更严肃的游戏开发的需要。

总的来说,作者发现 Rust 对于他们的大规模并发软件项目来说是一个可靠且高效的工具。