benchmarks/speed.rb in axiom-0.1.1 vs benchmarks/speed.rb in axiom-0.2.0
- old
+ new
@@ -1,7 +1,6 @@
#!/usr/bin/env ruby -Ku
-
# encoding: utf-8
# benchmark speed of relation operations
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
@@ -15,11 +14,11 @@
header = Relation::Header.new([[:id, Integer], [:name, String]])
array = (1..100).map { |n| Tuple.new(header, [n, 'Dan Kubb']) }
relation = Relation.new(header, array)
join = Relation.new([[:id, Integer], [:age, Integer]], [[1, 35]])
product = Relation.new([[:age, Integer]], [[35]])
-ordered = relation.sort_by { |r| [r.id, r.name] }
+sorted = relation.sort_by { |r| [r.id, r.name] }
RBench.run(TIMES) do
column :ruby, title: 'Ruby'
column :axiom, title: 'Axiom'
column :diff, title: 'Diff', compare: [:ruby, :axiom]
@@ -66,35 +65,35 @@
report 'difference' do
ruby { (array - array).each {} }
axiom { relation.difference(relation).each {} }
end
- report 'order' do
+ report 'sort_by' do
ruby { array.sort_by { |tuple| [-tuple[:id], tuple[:name]] }.each {} }
axiom { relation.sort_by { |r| [r.id.desc, r.name] }.each {} }
end
report 'take' do
ruby { array.take(1).each {} }
- axiom { ordered.take(1).each {} }
+ axiom { sorted.take(1).each {} }
end
report 'drop' do
ruby { array.drop(1).each {} }
- axiom { ordered.drop(1).each {} }
+ axiom { sorted.drop(1).each {} }
end
report 'first' do
ruby { array.first(1).each {} }
- axiom { ordered.first(1).each {} }
+ axiom { sorted.first(1).each {} }
end
report 'last' do
ruby { array.last(1).each {} }
- axiom { ordered.last(1).each {} }
+ axiom { sorted.last(1).each {} }
end
report 'reverse' do
ruby { array.reverse.each {} }
- axiom { ordered.reverse.each {} }
+ axiom { sorted.reverse.each {} }
end
end