Sha256: e19918ab05ccb74e48e6c28db7bc646d0855d23ce4736890b3052db0dd9a12f0
Contents?: true
Size: 1.63 KB
Versions: 26
Compression:
Stored size: 1.63 KB
Contents
# frozen_string_literal: true require 'benchmark/ips' require 'jekyll' class FooPage def initialize(dir:, name:) @dir = dir @name = name end def slow_path File.join(*[@dir, @name].map(&:to_s).reject(&:empty?)).sub(%r{\A/}, '') end def fast_path Jekyll::PathManager.join(@dir, @name).sub(%r{\A/}, '') end end nil_page = FooPage.new(dir: nil, name: nil) empty_page = FooPage.new(dir: '', name: '') root_page = FooPage.new(dir: '', name: 'ipsum.md') nested_page = FooPage.new(dir: 'lorem', name: 'ipsum.md') slashed_page = FooPage.new(dir: '/lorem/', name: '/ipsum.md') if nil_page.slow_path == nil_page.fast_path Benchmark.ips do |x| x.report('nil_page slow') { nil_page.slow_path } x.report('nil_page fast') { nil_page.fast_path } x.compare! end end if empty_page.slow_path == empty_page.fast_path Benchmark.ips do |x| x.report('empty_page slow') { empty_page.slow_path } x.report('empty_page fast') { empty_page.fast_path } x.compare! end end if root_page.slow_path == root_page.fast_path Benchmark.ips do |x| x.report('root_page slow') { root_page.slow_path } x.report('root_page fast') { root_page.fast_path } x.compare! end end if nested_page.slow_path == nested_page.fast_path Benchmark.ips do |x| x.report('nested_page slow') { nested_page.slow_path } x.report('nested_page fast') { nested_page.fast_path } x.compare! end end if slashed_page.slow_path == slashed_page.fast_path Benchmark.ips do |x| x.report('slashed_page slow') { slashed_page.slow_path } x.report('slashed_page fast') { slashed_page.fast_path } x.compare! end end
Version data entries
26 entries across 26 versions & 1 rubygems