blob: dbc48d4301dfa4ba5e8be2808d4f25f424ca399c (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
package com.rockymadden.stringmetric.tokenize
import com.google.caliper.Param
import com.rockymadden.stringmetric.{CaliperBenchmark, CaliperRunner}
import scala.util.Random
final class NGramTokenizerBenchmark extends CaliperBenchmark {
import NGramTokenizerBenchmark.Tokenizer
@Param(Array("0", "1", "2", "4", "8", "16"))
var length: Int = _
@Param(Array("2", "3"))
var n: Int = _
var string: String = _
var charArray: Array[Char] = _
override protected def setUp() {
string = Random.alphanumeric.take(length).mkString
charArray = string.toCharArray
}
def timeComputeWithCharArray(reps: Int) = run(reps) {
Tokenizer.tokenize(charArray)(n)
}
def timeComputeWithString(reps: Int) = run(reps) {
Tokenizer.tokenize(string)(n)
}
}
object NGramTokenizerBenchmark extends CaliperRunner(classOf[NGramTokenizerBenchmark]) {
private final val Tokenizer = NGramTokenizer()
}
|