Benchmark marshal load and render against parse and render.

This commit is contained in:
Dylan Thacker-Smith
2014-09-12 09:46:30 -04:00
parent 478eb893a9
commit d7234cb346
3 changed files with 53 additions and 42 deletions
+8 -11
View File
@@ -1,17 +1,14 @@
require 'benchmark/ips'
require 'benchmark'
require File.dirname(__FILE__) + '/theme_runner'
Liquid::Template.error_mode = ARGV.first.to_sym if ARGV.first
profiler = ThemeRunner.new
Benchmark.ips do |x|
x.time = 60
x.warmup = 5
puts
puts "Running benchmark for #{x.time} seconds (with #{x.warmup} seconds warmup)."
puts
x.report("parse:") { profiler.compile }
x.report("parse & run:") { profiler.run }
N = 100
Benchmark.bmbm do |x|
x.report("parse:") { N.times { profiler.parse } }
x.report("marshal load:") { N.times { profiler.marshal_load } }
x.report("render:") { N.times { profiler.render } }
x.report("marshal load & render:") { N.times { profiler.load_and_render } }
x.report("parse & render:") { N.times { profiler.parse_and_render } }
end