view src/main/java/org/openjdk/gcbench/fragger/LRUFragger.java @ 69:e6445972ab3d

fragger: update to lower payloads.
author shade
date Wed, 15 Mar 2017 21:59:25 +0100
parents src/main/java/org/openjdk/gcbench/fragger/ArrayFragger.java@2302c92fc1d9
children a2da92eb9aa9
line wrap: on
line source

package org.openjdk.gcbench.fragger;

import org.openjdk.jmh.annotations.*;

import java.util.LinkedHashMap;
import java.util.Map;
import java.util.concurrent.TimeUnit;


@Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
@Fork(value = 1)
@BenchmarkMode(Mode.Throughput)
@OutputTimeUnit(TimeUnit.SECONDS)
@Threads(1)
@State(Scope.Benchmark)
public class LRUFragger {

    @Param({"1000"})
    int size;

    Map<Object, Object> cache;

    @Setup
    public void setup() {
        cache = new LinkedHashMap<Object, Object>(size*4/3, 0.75f, true) {
            @Override
            protected boolean removeEldestEntry(Map.Entry<Object, Object> eldest) {
                return size() > size;
            }
        };
    }

    @Benchmark
    public void test() {
        cache.put(new Object(), new byte[1000]);
    }

}