summaryrefslogblamecommitdiff
path: root/core/source/benchmark/scala/com/rockymadden/stringmetric/phonetic/SoundexAlgorithmBenchmark.scala
blob: 9dc67de82f219b5ea1b30771a61f1920df6b4c30 (plain) (tree)
1
2
3
4
                                             

                               
                                                                     














                                                                                  
                                                   


                                                          
                                                

         
package com.rockymadden.stringmetric.phonetic

import com.google.caliper.Param
import com.rockymadden.stringmetric.{CaliperBenchmark, CaliperRunner}
import scala.util.Random

final class SoundexAlgorithmBenchmark 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) {
		SoundexAlgorithm.compute(charArray)
	}

	def timeComputeWithString(reps: Int) = run(reps) {
		SoundexAlgorithm.compute(string)
	}
}