view src/main/java/org/openjdk/gcbench/tests/Dimensions.java @ 49:d869414b90b4

Tunable min/max heap sizes. Default min heap size to 8192.
author shade
date Thu, 15 Dec 2016 19:57:37 +0100
parents 25f22a0b9311
children 7c8ea59bcd6a
line wrap: on
line source

package org.openjdk.gcbench.tests;

import org.openjdk.gcbench.HeapSizeManager;

public class Dimensions {

    public static Dimension heapSize(int steps) {
        int maxHeap = HeapSizeManager.MAX_HEAP;
        return new Dimension(DimensionType.HEAPSIZE, Sequence.steps(maxHeap / 16, maxHeap - maxHeap / 16, steps));
    }

    public static Dimension heapSize(Sequence seq) {
        return new Dimension(DimensionType.HEAPSIZE, seq);
    }

    public static Dimension lds(int steps) {
        int maxHeap = HeapSizeManager.MAX_HEAP;
        return new Dimension(DimensionType.LDS,
                Sequence.steps(maxHeap / 16, maxHeap - maxHeap / 16, steps));
    }

    public static Dimension size(Sequence seq) {
        return new Dimension(DimensionType.SIZE, seq);
    }

    public static Dimension threads() {
        return new Dimension(DimensionType.THREADS, Sequence.powersOfTwo(1, Runtime.getRuntime().availableProcessors()));
    }

    public static Dimension jvmMode() {
        return new Dimension(DimensionType.JVM_MODE, Sequence.jvmModes());
    }

    public static Dimension javaType() {
        return new Dimension(DimensionType.JAVA_TYPE, Sequence.javaType());
    }
}