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
 |