かなりperlやrubyに不利なテストだな。
もっとそれぞれの言語にあった書き方と言うものがあるのに。

# perl
while($x<=1000000){$s+=$x++;}

# ruby
s = (0..100000).inject(0) {|s, x| s+x}

まあruby版はxが最後一回加算されないが。