Sha256: ca8faad1ae71cc10f97a7496a5e954e5ac8b7418df080a00a29d6ca9e7801f3a

Contents?: true

Size: 626 Bytes

Versions: 26

Compression:

Stored size: 626 Bytes

Contents

#!/usr/bin/env ruby
# frozen_string_literal: true

require 'benchmark/ips'
require 'jekyll'
require 'json'

DATA = { 'foo' => 'bar', 'alpha' => { 'beta' => 'gamma' }, 'lipsum' => %w[lorem ipsum dolor] }.freeze

def local_require
  require 'json'
  JSON.pretty_generate(DATA)
end

def global_require
  JSON.pretty_generate(DATA)
end

def graceful_require
  Jekyll::External.require_with_graceful_fail('json')
  JSON.pretty_generate(DATA)
end

Benchmark.ips do |x|
  x.report('local-require') { local_require }
  x.report('global-require') { global_require }
  x.report('graceful-require') { graceful_require }
  x.compare!
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
lbenicio-minimal-v1-1.6.4 benchmark/local-require
lbenicio-minimal-v1-1.6.3 benchmark/local-require
lbenicio-minimal-v1-1.6.2 benchmark/local-require
lbenicio-minimal-v1-1.6.1 benchmark/local-require
lbenicio-minimal-v1-1.5.3 benchmark/local-require
lbenicio-minimal-v1-1.5.2 benchmark/local-require
lbenicio-minimal-v1-1.5.0 benchmark/local-require
lbenicio-minimal-v1-1.4.0 benchmark/local-require
lbenicio-minimal-v1-1.3.3 benchmark/local-require
lbenicio-minimal-v1-1.3.2 benchmark/local-require
lbenicio-minimal-v1-1.3.1 benchmark/local-require
lbenicio-minimal-v1-1.3.0 benchmark/local-require
lbenicio-minimal-v1-1.2.1 benchmark/local-require
lbenicio-minimal-v1-1.2.0 benchmark/local-require
lbenicio-minimal-v1-1.1.9 benchmark/local-require
lbenicio-minimal-v1-1.1.8 benchmark/local-require
lbenicio-minimal-v1-1.1.7 benchmark/local-require
lbenicio-minimal-v1-1.1.6 benchmark/local-require
lbenicio-minimal-v1-1.1.5 benchmark/local-require
lbenicio-minimal-v1-1.1.4 benchmark/local-require