【发布时间】:2010-11-01 10:21:06
【问题描述】:
我正在考虑编写一个具有以下要求的应用。我精通 Ruby,但我愿意学习一门新语言,如 Scala、Clojure 或 Python。
并发/最佳性能
这是我的主要目标。它需要速度惊人,并以体面的方式支持并发。
使用 Redis 作为后端
这不是什么大问题,redis 有很多可用的驱动程序,但它可能会影响语言/平台的最终决定。
Websocket 支持
对 websockets 的良好支持是必须的。使用附加库(如 Cramp for Ruby::EM)是可以的。
选项
我收集了以下选项:
- Ruby 事件机器
- Python 扭曲
- Node.js
- Clojure
- 斯卡拉
- Java
此时编写原始 C 或汇编程序不是可行的选择。
并发
Ruby 1.9 仍然使用 GIL,因为所有基于 JVM 的解决方案都可以使用本机线程。在这种情况下,我不确定 Node.js。
所选语言如何影响性能?
问题
你有什么推荐的,为什么?你有动手经验吗?请赐教(以及 StackOverflow 的其余部分)
【问题讨论】:
标签: ruby programming-languages concurrency clojure node.js