Ruby:1億回のループで7秒
手元の環境では、Ruby 2.0.0で、100万回のループに0.07秒、1000万回なら0.7秒、1億回なら7秒ほどかかる。
$ ruby -v ruby 2.0.0p481 (2014-05-08 revision 45883) [x86_64-linux] $ cat bm.rb require 'benchmark' Benchmark.bm do |x| x.report { 1_000_000.times {} } x.report { 10_000_000.times {} } x.report { 100_000_000.times {} } end $ ruby bm.rb user system total real 0.070000 0.000000 0.070000 ( 0.070087) 0.670000 0.000000 0.670000 ( 0.667117) 6.870000 0.000000 6.870000 ( 6.872852)
PHP:1億回のループで5秒
同様に、PHP 5.3.3では1億回のループで5秒強だった。
$ php -v PHP 5.3.3 (cli) (built: Aug 6 2014 05:54:27) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies $ cat bm.php <?php $n = intval(str_replace("_", "", $argv[1])); for ($i = 1; $i <= $n; $i++) {} $ time php bm.php 100_000_000 real 0m5.373s user 0m5.362s sys 0m0.009s
結論:paizaでは1億回のループに注意
paizaのチェック環境においても、上記の結果に大差はないだろう。同環境では、RubyやPHPの実行時間が16秒に制限されているので、ループが1億回程度になる場合は注意したほうがよさそうだ。