Skip to content

Instantly share code, notes, and snippets.

@GregBestland
Created March 14, 2017 21:43
Show Gist options
  • Save GregBestland/cf3667e5bd112c9f9640003917cde1ec to your computer and use it in GitHub Desktop.
Save GregBestland/cf3667e5bd112c9f9640003917cde1ec to your computer and use it in GitHub Desktop.
/*
* Copyright (C) 2012-2017 DataStax Inc.
*
* This software can be used solely with DataStax Enterprise. Please consult the license at
* http://www.datastax.com/terms/datastax-dse-driver-license-terms
*/
package com.datastax.dse.graph.internal.utils;
import org.openjdk.jmh.annotations.*;
import org.openjdk.jmh.infra.Blackhole;
import java.util.concurrent.TimeUnit;
public class StringDistanceBenchmark {
@State(Scope.Benchmark)
public static class MetadataState {
@Setup(Level.Trial)
public void init() {
String a = "a";
String ab = "ab";
String name = "abcdefghijklmnopqrstuvwxyzA";
}
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceSimple(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("a", "ab"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceSimpleOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("a", "ab"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceLongEmpty(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("a", ""));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceEmptyOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("a", ""));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceLongSimple(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("abdefghijk", "nopqrstxyz"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceLongSimpleOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("abdefghijk", "nopqrstxyz"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftGifts(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("gift", "gifts"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftGiftsOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("gift", "gifts"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftGif(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("gift", "gif"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftGifOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("gift", "gif"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftIgtf(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("gift", "igtf"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftIgtfOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("gift", "igtf"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceLargeMatching(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("abcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyz", "abcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyz"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftLagreMatchingOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("abcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyz", "abcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyz"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceLargeNonMatching(Blackhole bh) {
bh.consume(StringUtils.getDamerauLevenshteinDistance("abcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyz", "qrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmno"));
}
@Benchmark
@BenchmarkMode(Mode.AverageTime)
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Measurement(iterations = 20)
@Fork(1)
public void benchmarkDistanceGiftLagreNonMatchingOld(Blackhole bh) {
bh.consume(org.apache.commons.lang.StringUtils.getLevenshteinDistance("abcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyz", "qrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmnoqrstuvqxyzabcdefghijklmno"));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment