mirror of
				https://github.com/ruby/ruby.git
				synced 2022-11-09 12:17:21 -05:00 
			
		
		
		
	benchmark/*.rb is only benchmarks now. We don't need prefixes. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@63928 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
		
			
				
	
	
		
			24 lines
		
	
	
	
		
			399 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
	
		
			399 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# from http://www.bagley.org/~doug/shootout/bench/sieve/sieve.ruby
 | 
						|
num = 500
 | 
						|
count = i = j = 0
 | 
						|
flags0 = Array.new(8192,1)
 | 
						|
k = 0
 | 
						|
while k < num
 | 
						|
  k += 1
 | 
						|
  count = 0
 | 
						|
  flags = flags0.dup
 | 
						|
  i = 2
 | 
						|
  while i<8192
 | 
						|
    i += 1
 | 
						|
    if flags[i]
 | 
						|
      # remove all multiples of prime: i
 | 
						|
      j = i*i
 | 
						|
      while j < 8192
 | 
						|
        j += i
 | 
						|
        flags[j] = nil
 | 
						|
      end
 | 
						|
      count += 1
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 | 
						|
count
 |