带有erubis模板引擎的Ruby 2.1

带有erubis模板引擎的Ruby 2.1,ruby,ruby-on-rails-4.1,ruby-2.1,eruby,erubis,Ruby,Ruby On Rails 4.1,Ruby 2.1,Eruby,Erubis,我们正在寻找最快的模板引擎渲染视图 据我所知,erubis是ruby中最快的模板引擎 我的用例是通过脚本呈现模板 看看创业板官方页面,它的最新发布时间是2011年。 不确定社区是否活跃。 有人使用ruby 2.1和erubis模板引擎吗 是否建议在ruby 2.1中使用erubis 谢谢 Abhay我使用下面的代码片段在ERB和erubis渲染之间运行基准测试 erubis_render_time = Benchmark.realtime { template_content = Fi

我们正在寻找最快的模板引擎渲染视图

据我所知,erubis是ruby中最快的模板引擎

我的用例是通过脚本呈现模板

看看创业板官方页面,它的最新发布时间是2011年。 不确定社区是否活跃。

有人使用ruby 2.1和erubis模板引擎吗

是否建议在ruby 2.1中使用erubis

谢谢
Abhay

我使用下面的代码片段在ERB和erubis渲染之间运行基准测试

erubis_render_time =  Benchmark.realtime {

  template_content = File.read("#{Rails.root}/app/views/web/email_templates/erubis_benchmark_test.erb")
  1000.times do |j|
    email_body = Erubis::Eruby.new(template_content).result({welcome_mail_cta: "Shop Now", welcome_mail_string: "Welcome. Your account is activated"})
  end
}


template_path = "/web/email_templates/benchmark_test"
erb_render_time = Benchmark.realtime {
1000.times do |j|
  email_body = ActionController::Base.new.send(:render_to_string,
                                              :template => template_path,
                                              :layout => false,
                                              :locals => {:data => {welcome_mail_cta: "Shop Now",
                                                                    welcome_mail_string: "Welcome. Your account is activated"
                                                    }
                                                          }
                                              )
end
}

根据上面的基准测试套件,Erubis的速度比ERB渲染快10-15倍。

我使用下面的代码片段在ERB和Erubis渲染之间运行基准测试

erubis_render_time =  Benchmark.realtime {

  template_content = File.read("#{Rails.root}/app/views/web/email_templates/erubis_benchmark_test.erb")
  1000.times do |j|
    email_body = Erubis::Eruby.new(template_content).result({welcome_mail_cta: "Shop Now", welcome_mail_string: "Welcome. Your account is activated"})
  end
}


template_path = "/web/email_templates/benchmark_test"
erb_render_time = Benchmark.realtime {
1000.times do |j|
  email_body = ActionController::Base.new.send(:render_to_string,
                                              :template => template_path,
                                              :layout => false,
                                              :locals => {:data => {welcome_mail_cta: "Shop Now",
                                                                    welcome_mail_string: "Welcome. Your account is activated"
                                                    }
                                                          }
                                              )
end
}

根据上面的基准测试套件,Erubis的渲染速度是ERB渲染的10-15倍。

Ruby 2.1支持有一个新版本,但它还没有被合并。顺便说一句,您的应用程序中是否已经遇到性能问题?如果是,您确定模板引擎是瓶颈吗?您有比较不同模板引擎的基准测试套件吗?@zwippie感谢您的快速回复。我们正在构建一个库,在这个库中,我们必须以尽可能短的时间通过脚本(而不是web请求渲染)渲染大约200万个模板+db操作。在我们每月服务200万用户的web应用程序中,我们注意到ERB渲染的缓慢性能。埃鲁比斯自夸速度快了3倍。在我们的例子中,这可能是一个显著的改进。好吧,这听起来是一个寻找最快模板引擎的公平情况。顺便说一句:Erubis存在于我的
Gemfile.lock中,作为一些其他gem的依赖项,它似乎可以与我的Ruby 2.1设置一起工作。谢谢@zwippie。那很有帮助。你还可以建议erubis社区是否活跃?在我的用例中,你会推荐gem吗?我刚刚发现erubis已经包含在Rails 3+中了!它被列为依赖项,所以可能您已经在使用erubis了?!对Ruby2.1有一个支持,但尚未合并。顺便说一句,您的应用程序中是否已经遇到性能问题?如果是,您确定模板引擎是瓶颈吗?您有比较不同模板引擎的基准测试套件吗?@zwippie感谢您的快速回复。我们正在构建一个库,在这个库中,我们必须以尽可能短的时间通过脚本(而不是web请求渲染)渲染大约200万个模板+db操作。在我们每月服务200万用户的web应用程序中,我们注意到ERB渲染的缓慢性能。埃鲁比斯自夸速度快了3倍。在我们的例子中,这可能是一个显著的改进。好吧,这听起来是一个寻找最快模板引擎的公平情况。顺便说一句:Erubis存在于我的
Gemfile.lock中,作为一些其他gem的依赖项,它似乎可以与我的Ruby 2.1设置一起工作。谢谢@zwippie。那很有帮助。你还可以建议erubis社区是否活跃?在我的用例中,你会推荐gem吗?我刚刚发现erubis已经包含在Rails 3+中了!它被列为依赖项,所以可能您已经在使用erubis了?!