diff options
Diffstat (limited to 'trunk/benchmark/bm_so_sieve.rb')
-rw-r--r-- | trunk/benchmark/bm_so_sieve.rb | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/trunk/benchmark/bm_so_sieve.rb b/trunk/benchmark/bm_so_sieve.rb new file mode 100644 index 0000000000..dbe2bfa63d --- /dev/null +++ b/trunk/benchmark/bm_so_sieve.rb @@ -0,0 +1,24 @@ +# from http://www.bagley.org/~doug/shootout/bench/sieve/sieve.ruby +num = 40 +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 |