mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
	
		
			755 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
	
		
			755 B
		
	
	
	
		
			YAML
		
	
	
	
	
	
prelude: |
 | 
						|
  symbol = RubyVM::InstructionSequence.compile(":foo; :bar; :baz; :egg; :spam").to_binary
 | 
						|
 | 
						|
  define_method = RubyVM::InstructionSequence.compile(%{
 | 
						|
    def foo; end
 | 
						|
    def bar; end
 | 
						|
    def baz; end
 | 
						|
    def egg; end
 | 
						|
    def spam; end
 | 
						|
  }).to_binary
 | 
						|
 | 
						|
  all = RubyVM::InstructionSequence.compile(%{
 | 
						|
    module Foo; def foo; :foo; end; end
 | 
						|
    module Bar; def bar; :bar; end; end
 | 
						|
    module Baz; def baz; :baz; end; end
 | 
						|
    class Egg; def egg; :egg; end; end
 | 
						|
    class Spaml; def spam; :spam; end; end
 | 
						|
  }).to_binary
 | 
						|
 | 
						|
benchmark:
 | 
						|
  symbol: RubyVM::InstructionSequence.load_from_binary(symbol)
 | 
						|
  define_method: RubyVM::InstructionSequence.load_from_binary(define_method)
 | 
						|
  all: RubyVM::InstructionSequence.load_from_binary(all)
 | 
						|
 | 
						|
loop_count: 100_000
 |