小编典典

为什么有人说 Ruby 很慢?

all

我喜欢 Ruby on Rails,并将它用于我所有的 Web 开发项目。几年前,有很多关于 Rails 是内存猪以及它如何不能很好地扩展的讨论,但
Gregg Pollack 在这里 搁置了这些建议。

不过最近,我听到有人说 Ruby 本身很慢。

  • 为什么 Ruby 被认为很慢?

我不觉得 Ruby 很慢,但是我只是用它来制作简单的 CRUD 应用程序和公司博客。在我发现 Ruby
变慢之前,我需要做什么类型的项目?或者这种缓慢只是影响所有编程语言的东西?

  • 如果你想处理这种“缓慢”,作为一名 Ruby 程序员,你有哪些选择?

  • 哪个版本的 Ruby 最适合像 Stack Overflow 这样速度至关重要且流量密集的应用程序?

这些问题是主观的,我意识到架构设置(EC2 与独立服务器等)有很大的不同,但我想听听人们对 Ruby 速度慢的看法。

最后,我找不到太多关于 Ruby 2.0 的新闻——我认为我们距离那个还有好几年的时间?


阅读 81

收藏
2022-07-28

共1个答案

小编典典

为什么 Ruby 被认为很慢?

因为如果你在 Ruby 和其他语言之间运行典型的基准测试,Ruby 就会失败。

我不觉得 Ruby 很慢,但是我只是用它来制作简单的 CRUD 应用程序和公司博客。在我发现 Ruby
变慢之前,我需要做什么类型的项目?或者这种缓慢只是影响所有编程语言的东西?

在编写实时数字信号处理应用程序或任何类型的实时控制系统时,Ruby 可能无法为您提供很好的服务。Ruby(带有今天的
VM)可能会在智能手机等资源受限的计算机上窒息。

请记住,您的 Web 应用程序上的许多处理实际上是由用 C 开发的软件完成的。例如
Apache、Thin、Nginx、SQLite、MySQL、PostgreSQL,许多解析库、RMagick、TCP/IP 等都是 Ruby 使用的 C
程序. Ruby 提供了粘合剂和业务逻辑。

如果你想处理这种“缓慢”,作为一名 Ruby 程序员,你有哪些选择?

切换到更快的语言。但这需要付出代价。这可能是值得的成本。但是对于大多数 Web
应用程序来说,语言选择并不是一个相关因素,因为没有足够的流量证明使用更快的语言是合理的,而开发成本更高。

哪个版本的 Ruby 最适合像 Stack Overflow 这样速度至关重要且流量密集的应用程序?

其他人已经回答了这个问题 - JRuby、IronRuby、REE 将使您的应用程序的 Ruby 部分在能够负担 VM
的平台上运行得更快。而且由于导致缓慢的通常不是
Ruby,而是您的计算机系统架构和应用程序架构,您可以执行诸如数据库复制、多个应用程序服务器、使用反向代理的负载平衡、HTTP
缓存、memcache、Ajax、客户端缓存等.这些东西都不是Ruby。

最后,我找不到太多关于 Ruby 2.0 的新闻——我认为我们距离那个还有好几年的时间?

大多数人都在等待 Ruby 1.9.1。我自己正在等待 JRuby 上的 Ruby 1.9.1 上的 Rails 3.1。

最后,请记住,许多开发人员选择 Ruby 是因为与其他语言相比,它使编程成为一种更愉快的体验,并且因为 Ruby 与 Rails 使熟练的 Web
开发人员能够非常快速地开发应用程序。

2022-07-28