author | Jan Vrany <jan.vrany@fit.cvut.cz> |
Tue, 10 Sep 2013 10:25:34 +0100 | |
branch | development |
changeset 2723 | 02802ba0024f |
parent 2598 | 94ae3f5f4df1 |
permissions | -rwxr-xr-x |
2598
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
1 |
#!/usr/bin/env ruby |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
2 |
require 'benchmark' |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
3 |
|
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
4 |
def run_hash_test(n) |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
5 |
table = {} |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
6 |
count = 0 |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
7 |
1.upto(n) do |idx| |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
8 |
table[idx.to_s(16)] = idx |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
9 |
end |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
10 |
|
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
11 |
1.upto(n) do |idx| |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
12 |
if table.has_key?(idx.to_s(10)) |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
13 |
count = count + 1 |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
14 |
end |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
15 |
end |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
16 |
end |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
17 |
|
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
18 |
results = Benchmark.bmbm do |bm| |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
19 |
raise "Expecting one arg - num of iterations" if ARGV.size == 0 |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
20 |
n = ARGV[0].to_i |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
21 |
bm.report { run_hash_test(n) } |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
22 |
end |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
23 |
puts "EXECUTION TIME: #{results[0].real * 1000.0}" |
94ae3f5f4df1
adding ruby benchmarks for comparison
Marcel Hlopko <marcel.hlopko@fit.cvut.cz>
parents:
diff
changeset
|
24 |