From b539c32364d941e1f0b23de41b7367419191eb18 Mon Sep 17 00:00:00 2001 From: Parker Moore Date: Tue, 21 Jun 2016 14:20:18 -0700 Subject: [PATCH] Add a benchmark for capture vs. assign in Liquid. [ci skip] --- benchmark/capture-assign.rb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 benchmark/capture-assign.rb diff --git a/benchmark/capture-assign.rb b/benchmark/capture-assign.rb new file mode 100644 index 00000000..8d3ac8fa --- /dev/null +++ b/benchmark/capture-assign.rb @@ -0,0 +1,20 @@ +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