diff options
author | Rocky Madden <git@rockymadden.com> | 2012-11-15 10:32:18 -0700 |
---|---|---|
committer | Rocky Madden <git@rockymadden.com> | 2012-11-15 10:32:18 -0700 |
commit | 690846dd22982d7a4a9b998686d6d3768163475c (patch) | |
tree | 312c18c78f51431d88b4e5660dc6acc1e7aac07c /core/source/benchmark/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmBenchmark.scala | |
parent | 73f92cba9918a8aea2d784cff94c5dbade5cbbbd (diff) | |
download | stringmetric-690846dd22982d7a4a9b998686d6d3768163475c.tar.gz stringmetric-690846dd22982d7a4a9b998686d6d3768163475c.tar.bz2 stringmetric-690846dd22982d7a4a9b998686d6d3768163475c.zip |
Added Google Caliper microbenchmark suite for every metric and algorithm.
Diffstat (limited to 'core/source/benchmark/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmBenchmark.scala')
-rwxr-xr-x | core/source/benchmark/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmBenchmark.scala | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/core/source/benchmark/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmBenchmark.scala b/core/source/benchmark/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmBenchmark.scala new file mode 100755 index 0000000..27c93af --- /dev/null +++ b/core/source/benchmark/scala/org/hashtree/stringmetric/phonetic/MetaphoneAlgorithmBenchmark.scala @@ -0,0 +1,28 @@ +package org.hashtree.stringmetric.phonetic + +import com.google.caliper.Param +import org.hashtree.stringmetric.{ CaliperBenchmark, CaliperRunner } +import scala.util.Random + +final class MetaphoneAlgorithmBenchmark extends CaliperBenchmark { + @Param(Array("0", "1", "2", "4", "8", "16")) + var length: Int = _ + + var string: String = _ + var charArray: Array[Char] = _ + + override protected def setUp() { + string = Random.alphanumeric.filter(_ > '9').take(length).mkString + charArray = string.toCharArray + } + + def timeComputeWithCharArray(reps: Int) = run(reps) { + MetaphoneAlgorithm.compute(charArray) + } + + def timeComputeWithString(reps: Int) = run(reps) { + MetaphoneAlgorithm.compute(string) + } +} + +object MetaphoneAlgorithmBenchmark extends CaliperRunner(classOf[MetaphoneAlgorithmBenchmark])
\ No newline at end of file |