https://github.com/jekyll/jekyll
Raw File
Tip revision: 053acd31ac69f915d2e5035dac8a6c6e71ad413c authored by olivia on 25 January 2018, 18:34:49 UTC
Release :gem: 3.7.2
Tip revision: 053acd3
capture-assign.rb
#!/usr/bin/env ruby
require "liquid"
require "benchmark/ips"

puts "Ruby #{RUBY_VERSION}-p#{RUBY_PATCHLEVEL}"
puts "Liquid #{Liquid::VERSION}"

template1 = '{% capture foobar %}foo{{ bar }}{% endcapture %}{{ foo }}{{ foobar }}'
template2 = '{% assign foobar = "foo" | append: bar %}{{ foobar }}'

def render(template)
  Liquid::Template.parse(template).render("bar" => "42")
end

puts render(template1)
puts render(template2)

Benchmark.ips do |x|
  x.report('capture') { render(template1) }
  x.report('assign')  { render(template2) }
end
back to top