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
public static void main(String[] args) { | |
double average = 0; | |
int count = 0; | |
for (int i = 0; i < 1_000_000; i++) { | |
average += enhance(10, 15, Scroll.REGULAR); | |
count++; | |
} | |
System.out.println("Average : " + average / count); | |
average = 0; |
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
@BenchmarkMode(Mode.AverageTime) | |
@Fork(1) | |
@State(Scope.Thread) | |
@Warmup(iterations = 5, time = 1) | |
@OutputTimeUnit(TimeUnit.NANOSECONDS) | |
@Measurement(iterations = 10, time = 1) | |
public class EmptyStringEquals { | |
@Param({"", "nonEmptyString"}) | |
private String strParams; |
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
Benchmark (strParams) Mode Cnt Score Error Units | |
EmptyStringEquals.equalsPost avgt 10 4.240 ± 0.058 ns/op | |
EmptyStringEquals.nonNullAndIsEmpty avgt 10 2.985 ± 0.048 ns/op | |
EmptyStringEquals.preEquals avgt 10 4.243 ± 0.062 ns/op | |
EmptyStringEquals.equalsPost nonEmptyString avgt 10 3.522 ± 0.034 ns/op | |
EmptyStringEquals.nonNullAndIsEmpty nonEmptyString avgt 10 2.894 ± 0.048 ns/op | |
EmptyStringEquals.preEquals nonEmptyString avgt 10 3.672 ± 0.016 ns/op |
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
@BenchmarkMode(Mode.AverageTime) | |
@Fork(1) | |
@State(Scope.Thread) | |
@Warmup(iterations = 5, time = 1) | |
@OutputTimeUnit(TimeUnit.NANOSECONDS) | |
@Measurement(iterations = 10, time = 1) | |
public class EqualChar { | |
@Param({"/", "/my/server/url"}) | |
private String url; |
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
Benchmark (url) Mode Cnt Score Error Units | |
EqualChar.equalsOptimized / avgt 10 3.806 ± 0.075 ns/op | |
EqualChar.equalsPost / avgt 10 5.706 ± 0.089 ns/op | |
EqualChar.equalsPre / avgt 10 5.960 ± 0.062 ns/op | |
EqualChar.equalsOptimized /my/server/url avgt 10 3.250 ± 0.204 ns/op | |
EqualChar.equalsPost /my/server/url avgt 10 3.464 ± 0.116 ns/op | |
EqualChar.equalsPre /my/server/url avgt 10 3.786 ± 0.027 ns/op |
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
public boolean equals(Object anObject) { | |
if (this == anObject) { | |
return true; | |
} | |
if (anObject instanceof String) { | |
String aString = (String)anObject; | |
if (coder() == aString.coder()) { | |
return isLatin1() ? StringLatin1.equals(value, aString.value) | |
: StringUTF16.equals(value, aString.value); | |
} |
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
@BenchmarkMode(Mode.AverageTime) | |
@Fork(1) | |
@State(Scope.Thread) | |
@Warmup(iterations = 5, time = 1) | |
@OutputTimeUnit(TimeUnit.NANOSECONDS) | |
@Measurement(iterations = 10, time = 1) | |
public class EqualsIgnoreCase { | |
@Param({"HELLO WORLD", "Hello World", "hello world", "otherParam"}) | |
String strParams; |
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
JDK 1.8.0_265, OpenJDK 64-Bit Server VM, 25.265-b01 | |
Benchmark (strParams) Mode Cnt Score Error Units | |
EqualsIgnoreCase.equalsAndToLowerCase HELLO WORLD avgt 10 67.110 ± 0.891 ns/op | |
EqualsIgnoreCase.equalsIgnoreCase HELLO WORLD avgt 10 46.485 ± 0.671 ns/op | |
EqualsIgnoreCase.equalsAndToLowerCase Hello World avgt 10 57.092 ± 1.146 ns/op | |
EqualsIgnoreCase.equalsIgnoreCase Hello World avgt 10 29.846 ± 0.292 ns/op | |
EqualsIgnoreCase.equalsAndToLowerCase hello world avgt 10 23.289 ± 0.188 ns/op |
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
class User { | |
String email; | |
int age; | |
@Override | |
public boolean equals(Object o) { | |
if (this == o) { | |
return true; |
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
@BenchmarkMode(Mode.AverageTime) | |
@OutputTimeUnit(TimeUnit.NANOSECONDS) | |
@Fork(1) | |
@State(Scope.Thread) | |
@Warmup(iterations = 5, time = 1) | |
@Measurement(iterations = 10, time = 1) | |
public class Hashcode { | |
UserObjects userObjects; | |
UserIDEDefault userIDEDefault; |
OlderNewer