Hatena::Grouprubyist

うんたらかんたらRuby RSSフィード

2008-11-24benchmarkを使ってみる

benchmarkを使ってみる

| benchmarkを使ってみる - うんたらかんたらRuby を含むブックマーク はてなブックマーク - benchmarkを使ってみる - うんたらかんたらRuby

気がつくと、約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使うのが一番早いみたいですね。

prinypriny2008/11/27 17:46はじめまして。こんにちは。

benchmark ありがとうございます。
コンピュータ君のお好みは e を使う書き方ですか。
べき乗は時間がかかるんですね。

rochefortrochefort2008/11/29 14:34どうも、こんにちは。
「なぜ、こなるの?」って解説できなくて恐縮ですが
こんな感じになるようです。

トラックバック - http://rubyist.g.hatena.ne.jp/rochefort/20081124