Gem 聊聊 Rails preload 的两个 Gem [spring, zeus]

wppurking · 2013年02月22日 · 最后由 gene_wu 回复于 2014年04月10日 · 7542 次阅读

昨天从 Ruby Weekly 邮件中看到一个叫 spring 的 gem, 然后就点开看了看,然后发现这个 gem 在进行 Rails 开发的时候,很好的减少了启动时间。然后又看到了 zeus 这个 gem, 他部分用 golang 编写。两个 gem 的使用效果基本上一样。想问问大家对这类 gem 的感觉是咋样的?

我先说说我的:

spring

  • 使用起来很方便,当第一次执行的时候,会自动在后台开启一个 server 用来 fork, 所以基本上和正常使用 rails command 类似就好了。
  • 与 Terminal 的 Session 关联,关闭当前 terminal session 那么这个 session 下的 spring server 都会自动关闭。同理,如果在多个 terminal session 中使用 spring rake 则会有多个 spring server...
  • 可以使用 spring binstub 将常用命令 (generator, console, rake 等等) 生成一个使用 spring 前缀的命令,用来简化每次的 spring rake , 命令放到了那个 ./bin/ 目录下
  • 暂时还不支持 rails destroy 命令

zeus

  • 需要 zeus start 启动一个 zeus server, 为常使用的命令各准备一个 (?), 内存占用稍多
  • 使用命令使用 zeus [comman] , 不过都有简称例如 zeus generate(alias: g), zeus server(alias: s), 每条命令都得输 zeus , 不过在 bash_profile 里设置个 alias 就好了 (例如:z s)
  • 所有 terminal 共享这一份 zeus server, 所以 terminal 多的时候不会有 spring 那样开多个 server

T.T 看来大家对这个兴趣不高。

有在用 zeus,还挺好的,省很多时间

切换到 ruby 2。0 就 ok 啦

#3 楼 @jasl 升到 2.0 碰到几个还没适应的 gem 又换回到 1.9.3p392 + railsexpress patch 了 T.T 比如 foreman 中的 Signal 异常 准备过一个缓冲期再升 ruby 2.0 :)

多谢楼主分享 现在使用 zeus 中

正在使用 zeus

看明白了,我也在用 Zeus 虽然有些 case 跑不通,但还是有很大性能上优势的

需要 登录 后方可回复, 如果你还没有账号请 注册新账号