mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	mesurement time makes less accuracy. * benchmark/bm_app_factorial.rb: ditto. * benchmark/bm_app_mandelbrot.rb: ditto. * benchmark/bm_app_strconcat.rb: ditto. * benchmark/bm_io_file_create.rb: ditto. * benchmark/bm_io_file_read.rb: ditto. * benchmark/bm_io_file_write.rb: ditto. * benchmark/bm_so_concatenate.rb: ditto. * benchmark/bm_so_lists.rb: ditto. * benchmark/bm_so_matrix.rb: ditto. * benchmark/bm_so_random.rb: ditto. * benchmark/bm_so_sieve.rb: ditto. * benchmark/bm_vm_thread_mutex1.rb: ditto. * benchmark/bm_vm_thread_mutex2.rb: ditto. * benchmark/bm_vm_thread_mutex3.rb: ditto. * benchmark/bm_vm1_block.rb: cleanup. * benchmark/bm_vm1_const.rb: cleanup. * benchmark/bm_vm1_ensure.rb: cleanup. * benchmark/bm_vm1_ivar.rb: cleanup. * benchmark/bm_vm1_length.rb: cleanup. * benchmark/bm_vm1_neq.rb: cleanup. * benchmark/bm_vm1_not.rb: cleanup. * benchmark/bm_vm1_rescue.rb: cleanup. * benchmark/bm_vm1_simplereturn.rb: cleanup. * benchmark/bm_vm1_swap.rb: cleanup. * benchmark/bm_vm2_array.rb: cleanup. * benchmark/bm_vm2_case.rb: cleanup. * benchmark/bm_vm2_defined_method.rb: cleanup. * benchmark/bm_vm2_eval.rb: cleanup. * benchmark/bm_vm2_method.rb: cleanup. * benchmark/bm_vm2_mutex.rb: cleanup. * benchmark/bm_vm2_poly_method.rb: cleanup. * benchmark/bm_vm2_poly_method_ov.rb: cleanup. * benchmark/bm_vm2_proc.rb: cleanup. * benchmark/bm_vm2_regexp.rb: cleanup. * benchmark/bm_vm2_send.rb: cleanup. * benchmark/bm_vm2_super.rb: cleanup. * benchmark/bm_vm2_unif1.rb: cleanup. * benchmark/bm_vm2_zsuper.rb: cleanup. * benchmark/bm_vm_thread_alive_check1.rb: cleanup. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			48 lines
		
	
	
	
		
			1,010 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
	
		
			1,010 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
#!/usr/bin/ruby
 | 
						|
# -*- mode: ruby -*-
 | 
						|
# $Id: matrix-ruby.code,v 1.4 2004/11/13 07:42:14 bfulgham Exp $
 | 
						|
# http://www.bagley.org/~doug/shootout/
 | 
						|
 | 
						|
n = 60 #Integer(ARGV.shift || 1)
 | 
						|
 | 
						|
size = 40
 | 
						|
 | 
						|
def mkmatrix(rows, cols)
 | 
						|
    count = 1
 | 
						|
    mx = Array.new(rows)
 | 
						|
    (0 .. (rows - 1)).each do |bi|
 | 
						|
        row = Array.new(cols, 0)
 | 
						|
        (0 .. (cols - 1)).each do |j|
 | 
						|
            row[j] = count
 | 
						|
            count += 1
 | 
						|
        end
 | 
						|
        mx[bi] = row
 | 
						|
    end
 | 
						|
    mx
 | 
						|
end
 | 
						|
 | 
						|
def mmult(rows, cols, m1, m2)
 | 
						|
    m3 = Array.new(rows)
 | 
						|
    (0 .. (rows - 1)).each do |bi|
 | 
						|
        row = Array.new(cols, 0)
 | 
						|
        (0 .. (cols - 1)).each do |j|
 | 
						|
            val = 0
 | 
						|
            (0 .. (cols - 1)).each do |k|
 | 
						|
                val += m1.at(bi).at(k) * m2.at(k).at(j)
 | 
						|
            end
 | 
						|
            row[j] = val
 | 
						|
        end
 | 
						|
        m3[bi] = row
 | 
						|
    end
 | 
						|
    m3
 | 
						|
end
 | 
						|
 | 
						|
m1 = mkmatrix(size, size)
 | 
						|
m2 = mkmatrix(size, size)
 | 
						|
mm = Array.new
 | 
						|
n.times do
 | 
						|
    mm = mmult(size, size, m1, m2)
 | 
						|
end
 | 
						|
# puts "#{mm[0][0]} #{mm[2][3]} #{mm[3][2]} #{mm[4][4]}"
 | 
						|
 | 
						|
 |