Search code examples
rubyruby-on-rails-4.1ruby-2.1erubyerubis

Ruby 2.1 with erubis Template Engine


We are looking for fastest template engine for rendering of views.

As i understand erubis is the fastest template engine in ruby.

My usecase is render templates through script.

Looking at the gem official page it's latest release was in 2011. Not sure if the community is active. https://rubygems.org/gems/erubis/versions

Does anyone use ruby 2.1 with erubis template engine?

Is it recommended to use erubis with ruby 2.1?

Thanks Abhay


Solution

  • I ran benchmark between ERB and erubis rendering with below code snippet.

    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
    }
    

    As per above benchmark suite Erubis is 10-15 times faster then ERB rendering.