benchmarkを使ってみる

気がつくと、約2週間更新してなかった。ほぼ日的に書こうとおもってたんだけど。。。

prinyさんの質問

コーヒーブレイク:数値の割り算 〜 / と % と divmod 〜 - Ruby初心者prinyの学習帳 - Rubyist

  • 1000000000000
  • 1e12
  • 10**12

で、処理をする早さは変わるのかな?


どれどれ、benchmarkとってみるか。
benchmark - Rubyリファレンスマニュアル
使い方あってるか不安。
見ながら、やってみた結果が↓。

実行結果

なぜかirb

irb(main):001:0> require 'benchmark'
=> true
irb(main):002:0> Benchmark.bm do |x|
irb(main):003:1* x.report { p 1000000000000 }
irb(main):004:1> x.report { p 1e12 }
irb(main):005:1> x.report { p 10**12 }
irb(main):006:1> end
      user     system      total        real
1000000000000
  0.000000   0.000000   0.000000 (  0.000136)
1000000000000.0
  0.000000   0.000000   0.000000 (  0.000089)
1000000000000
  0.000000   0.000000   0.000000 (  0.000204)
=> true


何回かやってみたけど
どうやら、e使うのが一番早いみたいですね。