benchmark/native.rb in jaro_winkler-1.2.1 vs benchmark/native.rb in jaro_winkler-1.2.2
- old
+ new
@@ -1,8 +1,10 @@
require 'benchmark'
require 'jaro_winkler'
require 'fuzzystringmatch'
+require 'hotwater'
+require 'amatch'
ary = [['al', 'al'], ['martha', 'marhta'], ['jones', 'johnson'], ['abcvwxyz', 'cabvwxyz'], ['dwayne', 'duane'], ['dixon', 'dicksonx'], ['fvie', 'ten']]
n = 100000
Benchmark.bmbm do |x|
x.report 'jaro_winkler' do
@@ -11,10 +13,20 @@
x.report 'fuzzystringmatch' do
jarow = FuzzyStringMatch::JaroWinkler.create(:native)
n.times{ ary.each{ |str1, str2| jarow.getDistance(str1, str2) } }
end
+
+ x.report 'hotwater' do
+ n.times{ ary.each{ |str1, str2| Hotwater.jaro_winkler_distance(str1, str2) } }
+ end
+
+ x.report 'amatch' do
+ n.times{ ary.each{ |str1, str2| Amatch::Jaro.new(str1).match(str2) } }
+ end
end
# user system total real
-# jaro_winkler 0.380000 0.000000 0.380000 ( 0.386071)
-# fuzzystringmatch 0.140000 0.000000 0.140000 ( 0.138053)
+# jaro_winkler 0.420000 0.000000 0.420000 ( 0.426742)
+# fuzzystringmatch 0.160000 0.000000 0.160000 ( 0.160146)
+# hotwater 0.300000 0.000000 0.300000 ( 0.297350)
+# amatch 0.980000 0.010000 0.990000 ( 0.982874)
\ No newline at end of file