Created
March 14, 2017 21:43
-
-
Save GregBestland/cf3667e5bd112c9f9640003917cde1ec to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
* 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