On Wed, Mar 19, 2008 at 10:25:32PM +0900, Paul Brannan wrote:
> cout@bean:~/tmp$ time ruby a.rb 10_000_000 > /dev/null
> 
> real    0m27.841s
> user    0m25.694s
> sys     0m0.112s
> cout@bean:~/tmp$ time ruby b.rb 10_000_000 > /dev/null
> 
> real    0m54.888s
> user    0m11.333s
> sys     0m0.504s
> cout@bean:~/tmp$ time ruby c.rb 10_000_000 > /dev/null
> 
> real    0m13.141s
> user    0m11.749s
> sys     0m0.100s

The difference is even more stark on 1.9:

cout@bean:~/tmp$ time ruby1.9 a.rb 10_000_000 > /dev/null

real    0m48.103s
user    0m44.203s
sys     0m0.240s
cout@bean:~/tmp$ time ruby1.9 c.rb 10_000_000 > /dev/null

real    0m10.934s
user    0m10.425s
sys     0m0.076s

Paul