30 lines
613 B
Ruby
Executable File
30 lines
613 B
Ruby
Executable File
#!/usr/bin/env ruby
|
|
# frozen_string_literal: true
|
|
|
|
require 'benchmark/ips'
|
|
require 'jekyll'
|
|
require 'json'
|
|
|
|
DATA = {"foo"=>"bar", "alpha"=>{"beta"=>"gamma"}, "lipsum"=>["lorem", "ipsum", "dolor"]}
|
|
|
|
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
|