I has been doing some research and benchmarking today and these are my conclusion ( so far ), i did try with 3 difetents methods:
Chainsaw's
String::Aprox
String::Similarity
My choise at this moment is String::Similarity, why?
Well first have a look at this benchmark:
Benchmark: timing 1000000 iterations of String::Aprox, String::Similar
+ity, Chainsaw...
String::Aprox: 5 wallclock secs ( 3.70 usr + 0.02 sys = 3.72 CPU) @
+ 268889.49/s
(n=1000000)
String::Similarity: 7 wallclock secs ( 7.38 usr + 0.00 sys = 7.38 C
+PU) @ 135593
.22/s (n=1000000)
Chainsaw: 15 wallclock secs (14.16 usr + 0.02 sys = 14.17 CPU) @ 7056
+6.65/
s (n=1000000)
In the benchmark i just called functions which did the basic operation of each solution.
Even when String::Aprox is fastest it doesn't make all the matchs that String::Similariy does, Chainsaw aproach does well with some matches but it is the slowest and some matches didn't come up
I just wanted you to know :)
My answer to my very own question would be:
Use String::Similarity
But i will continue testing.....
___________________________________________
Optimus magister, bonus liber