Eventdriven应用程序 - 选择哪种语言或VM?

Ari*_*jan 2 ruby concurrency programming-languages clojure node.js

我正在考虑编写一个具有以下要求的应用程序.我精通Ruby,但我愿意学习像Scala,Clojure或Python这样的新语言.

并发/最佳性能

这是我的主要目标.它需要非常快,并以合适的方式支持并发.

使用Redis作为后端

这不会是一个大问题,redis提供了广泛的驱动程序,但它可能会影响语言/平台的最终决策.

Websockets支持

对于websockets的良好支持是必须的.使用附加库(如Cramp for Ruby :: EM)是可以的.

选项

我收集了以下选项:

  • Ruby EventMachine
  • Python扭曲
  • Node.js的
  • Clojure的
  • 斯卡拉
  • Java的

编写原始C或汇编程序目前不是可行的选择.

并发

Ruby 1.9中仍然使用GIL,那里的所有基于JVM的解决方案可以使用本地线程.在这种情况下我不确定Node.js.

所选语言如何影响性能?

这个问题

你有什么建议?为什么?你有实践经验吗?请赐教(以及StackOverflow的其余部分)