annotate Looping.rb @ 4:d788c88f41bd >>178

Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
author "uncorrelated zombie" <uncorrelated@yahoo.co.jp>
date Thu, 17 Feb 2011 09:01:50 +0900
parents
children 30da8c1da4d4
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
1 #!/usr/bin/env ruby
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
2 class Looping
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
3 def initialize()
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
4 @n0 = 0
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
5 end
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
6 def calc(n)
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
7 n1 = @n0 + (1 - 2*(n%2))
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
8 @n0 = n
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
9 n1
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
10 end
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
11 end
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
12
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
13 if __FILE__ == $0
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
14 s = Looping.new
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
15 c = 0
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
16 n = 1
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
17 t1 = Time.now
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
18 while c<2147483647
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
19 n = s.calc(n)
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
20 c+=1
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
21 end
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
22 t2 = Time.now
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
23 puts "#{n} Ruby\t#{t2-t1}"
d788c88f41bd Rubyのベンチマークを追加。ソースコードは2ch.netの>>178からコピー。
"uncorrelated zombie" <uncorrelated@yahoo.co.jp>
parents:
diff changeset
24 end