mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	Add a benchmark for JIT-ed code dispatch
This commit is contained in:
		
							parent
							
								
									e006b992c2
								
							
						
					
					
						commit
						b414999370
					
				
					 1 changed files with 46 additions and 0 deletions
				
			
		
							
								
								
									
										46
									
								
								benchmark/mjit_exec.yml
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								benchmark/mjit_exec.yml
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
prelude: |
 | 
			
		||||
  # to be used with: --disable-gems --jit-min-calls=2
 | 
			
		||||
  def compile(call)
 | 
			
		||||
    eval(<<~EOS)
 | 
			
		||||
      #{call}; #{call}
 | 
			
		||||
      if RubyVM::MJIT.enabled?
 | 
			
		||||
        RubyVM::MJIT.pause(wait: true)
 | 
			
		||||
      end
 | 
			
		||||
    EOS
 | 
			
		||||
  end
 | 
			
		||||
benchmark:
 | 
			
		||||
  - name: "mjit_exec_iseq_vme_jit    "
 | 
			
		||||
    prelude: |
 | 
			
		||||
      def jit() end
 | 
			
		||||
      compile('jit')
 | 
			
		||||
    script: jit
 | 
			
		||||
  - name: mjit_exec_iseq_vme_jit_jit
 | 
			
		||||
    prelude: |
 | 
			
		||||
      def jit2() end
 | 
			
		||||
      def jit() jit2() end
 | 
			
		||||
      compile('jit')
 | 
			
		||||
    script: jit
 | 
			
		||||
  - name: mjit_exec_iseq_vme_jit_vme
 | 
			
		||||
    prelude: |
 | 
			
		||||
      def jit2() rescue; end
 | 
			
		||||
      def jit() jit2() end
 | 
			
		||||
      compile('jit')
 | 
			
		||||
    script: jit
 | 
			
		||||
  - name: "mjit_exec_send_vme_jit    "
 | 
			
		||||
    prelude: |
 | 
			
		||||
      def jit() end
 | 
			
		||||
      compile('send(:jit)')
 | 
			
		||||
    script: send(:jit)
 | 
			
		||||
  - name: mjit_exec_send_vme_jit_jit
 | 
			
		||||
    prelude: |
 | 
			
		||||
      def jit2() end
 | 
			
		||||
      def jit() send(:jit2) end
 | 
			
		||||
      compile('send(:jit)')
 | 
			
		||||
    script: send(:jit)
 | 
			
		||||
  - name: mjit_exec_send_vme_jit_vme
 | 
			
		||||
    prelude: |
 | 
			
		||||
      def jit2() rescue; end
 | 
			
		||||
      def jit() send(:jit2) end
 | 
			
		||||
      compile('send(:jit)')
 | 
			
		||||
    script: send(:jit)
 | 
			
		||||
loop_count: 30000000
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue