Mercurial > op > Looping
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 |
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 |