vickumar1981 / stringdistance

A fuzzy matching string distance library for Scala and Java that includes Levenshtein distance, Jaro distance, Jaro-Winkler distance, Dice coefficient, N-Gram similarity, Cosine similarity, Jaccard similarity, Longest common subsequence, Hamming distance, and more..

Home Page:https://vickumar1981.github.io/stringdistance/api/com/github/vickumar1981/stringdistance/index.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Benchmarking: Update benchmarks/performance

vickumar1981 opened this issue · comments

This is very open-ended, but at a start, deciding upon a way to run benchmark tests would be a great improvement, and would allow code changes to be tested from the perspective of performance.

** To do **

  • Evaluate bench marking tools available
  • Decide upon bench marking approach
  • Implement benchmarks in test suite.

Per PR: #61,

we'll be using the sbt-jmh plugin (https://github.com/ktoso/sbt-jmh) to run behcnmarks.

Currently, benchmarks can be run from the project root:

./sbt bench/jmh:run -i 1 -wi 1 -f1 -t1

TO DO:

  • Bump sbt-jmh plugin version to 0.4.0, Doesn't work. Stick with 0.3.7
  • Document usage of benchmarks
  • Decide whether to benchmark against another library like apache-commons-text (https://commons.apache.org/proper/commons-text/)
  • Decide whether to add more benchmarks for other classes besides ArrayDistance (maybe StringDistance, for example)

Tested version 0.4.0 of the sbt-jmh plugin, and it doesn't look like it's working. Will stick with 0.3.7 for now.

Closing this issue and creating some more granular ones.