8238684: Override getOrDefault in immutable Map implementation

Reviewed-by: forax, psandoz, smarks
This commit is contained in:
Claes Redestad 2020-02-08 15:21:25 +01:00
parent 7552915d3f
commit ac69c7894d
2 changed files with 24 additions and 0 deletions

View file

@ -34,6 +34,9 @@ import java.util.concurrent.TimeUnit;
*/
@State(Scope.Benchmark)
@OutputTimeUnit(TimeUnit.MICROSECONDS)
@Fork(value = 3)
@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@Measurement(iterations = 5, time = 2, timeUnit = TimeUnit.SECONDS)
public class ImmutableColls {
public static String[] STRINGS = {"hi", "all", "of", "you"};
@ -217,6 +220,13 @@ public class ImmutableColls {
fm4.containsValue("hi");
}
@Benchmark
@CompilerControl(CompilerControl.Mode.DONT_INLINE)
public void getOrDefault(Blackhole bh) {
bh.consume(fm4.getOrDefault("hi", "test"));
bh.consume(fm4.getOrDefault("not_in_this_map", "test"));
}
public int sizeOf(List<String> list) {
return list.size();
}