我喜欢Ruby on Rails,我所有的web开发项目都使用它.几年前,有很多人谈论Rails是一个内存猪,以及它如何不能很好地扩展,但这些建议是由Gregg Pollack 100.提出的

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

  • 为什么Ruby被认为很慢?

我不觉得Ruby很慢,但话说回来,我只是用它来制作简单的CRUD应用程序和公司博客.在我发现Ruby变慢之前,我需要做什么样的项目?或者这种缓慢只是影响所有编程语言的一个因素?

  • 作为一名Ruby程序员,如果你想应对这种"缓慢",你有什么 Select ?

  • 哪个版本的Ruby最适合像Stack Overflow这样的应用程序,在这种应用程序中,速度非常关键,流量非常大?

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

最后,我在Ruby 2.0上找不到太多新闻——我想我们离那还有好几年了吧?

推荐答案

为什么Ruby被认为很慢?

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

我不觉得Ruby很慢但是

Ruby可能无法很好地为您编写实时数字信号处理应用程序或任何类型的实时控制系统.Ruby(使用今天的虚拟机)可能会在智能手机等资源有限的计算机上窒息.

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

作为Ruby ,你有什么 Select

换一种速度更快的语言.但这需要付出代价.这是一个值得付出的代价.但对于大多数web应用程序来说,语言 Select 并不是一个相关因素,因为没有足够的流量来证明使用速度更快的语言是合理的,而开发这种语言的成本要高得多.

哪个版本的Ruby最适合

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

最后,我在网上找不到多少新闻

大多数人都在等待Ruby 1.9.1.我自己也在等待Ruby上的Rails 3.1和JRuby上的Rails 1.9.1.

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

Ruby相关问答推荐

使用Mac命令行解密用Ruby加密的Zip

Ruby:程序终止后仅写入/保存/可见的文件数据

Ruby - 给定一个嵌套数组的数组,如何仅比较每个嵌套数组的最后一个值来找到最大值?

Rack并发 - rack.multithread、async.callback 或两者兼而有之?

在Ruby中将嵌套哈希键从CamelCase转换为snake_case

如何使 Sinatra 通过 HTTPS/SSL 工作?

如何在新行之间拆分字符串并保留空白行?

Ruby访问嵌套函数中的外部变量

Rails 控制台中没有数据库连接

在 ruby​​ 中访问嵌套哈希的元素

确定字符串数组是否包含ruby中的某个子字符串

格式化 Ruby 的漂亮打印

符号到字符串问题

在 jekyll 博客中支持标签的简单方法

就地修改 ruby​​ 哈希(rails strong params)

Ruby NOT Rails 中有复数函数吗?

Ruby总是Round Up

如何从Ruby中的哈希表中获取第一个键值对

检索/列出 Redis 数据库中的所有键/值对

如何编写启动 tmux 会话的 shell 脚本,然后运行 ​​ruby​​ 脚本