shugo さんの refinement の修正についてベンチマークを取ろうと,昨日からす
べてのベンチマークを走らせたところ,普段なら数時間で終わるのですが,今見
たら終わってませんでした.

> so_nsieve_bits
> 
> #!/usr/bin/ruby
> #
> # The Great Computer Language Shootout
> # http://shootout.alioth.debian.org/
> #
> # nsieve-bits in Ruby
> # Contributed by Glenn Parker, March 2005
> 
> CharExponent = 3
> BitsPerChar = 1 << CharExponent
> LowMask = BitsPerChar - 1
> 
> def sieve(m)
>   items = "\xFF" * ((m / BitsPerChar) + 1)
>   masks = ""
>   BitsPerChar.times do |b|
>     masks << (1 << b).chr
>   end
> 
>   count = 0
>   pmax = m - 1
>   2.step(pmax, 1) do |p|
>     if items[p >> CharExponent][p & LowMask] == 1
>       count += 1
>       p.step(pmax, p) do |mult|
>         a = mult >> CharExponent
>         b = mult & LowMask
>         items[a] -= masks[b] if items[a][b] != 0
>       end
>     end
>   end
>   count
> end
> 
> n = 9 # (ARGV[0] || 2).to_i
> n.step(n - 2, -1) do |exponent|
>   break if exponent < 0
>   m = 2 ** exponent * 10_000
>   count = sieve(m)
>   printf "Primes up to %8d %8d\n", m, count
> end
> 
> 
> clean   30256.3521170616
=>  504.272535 分

このベンチマークがえらい時間かかっているようなのですが,何かお心当たりの
ある人は居ませんか? ちょっと異常です.

以前は 5 秒弱で終わっていました.

この clean というのは
ruby 2.0.0dev (2012-11-19 trunk 37722) [x86_64-linux]
です.

nari さんの定点ベンチマークでは,なんか出てます?

-- 
// SASADA Koichi at atdot dot net