mirror of
https://gitlab.uni-marburg.de/langbeid/powersort.git
synced 2025-02-23 00:45:22 +01:00
benchmark: adjusted time
This commit is contained in:
parent
ce93b03506
commit
1b944c38f0
@ -118,7 +118,7 @@ Run Custom Benchmark (CGM) with
|
|||||||
#### Run JMH with CGL and Powersort competition lists
|
#### Run JMH with CGL and Powersort competition lists
|
||||||
|
|
||||||
```shell
|
```shell
|
||||||
./gradlew jmh
|
./gradlew jmh --rerun
|
||||||
```
|
```
|
||||||
|
|
||||||
- To benchmark only one of the different list collections, see `jmh { excludes }` at the bottom of [./app/build.gradle.kts](./app/build.gradle.kts).
|
- To benchmark only one of the different list collections, see `jmh { excludes }` at the bottom of [./app/build.gradle.kts](./app/build.gradle.kts).
|
||||||
|
@ -45,7 +45,7 @@ import java.util.concurrent.TimeUnit;
|
|||||||
// - Until the 17th spike of up to +750% (Maybe JVM optimizations happening?)
|
// - Until the 17th spike of up to +750% (Maybe JVM optimizations happening?)
|
||||||
// - After 40th constant slowdown of around +10% (Maybe CPU frequency adjustments?)
|
// - After 40th constant slowdown of around +10% (Maybe CPU frequency adjustments?)
|
||||||
// Thus, we need at least ~50 warmup iterations!
|
// Thus, we need at least ~50 warmup iterations!
|
||||||
@Warmup(iterations = 50)
|
@Warmup(iterations = 60)
|
||||||
@Measurement(iterations = 6)
|
@Measurement(iterations = 6)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -27,7 +27,12 @@ public class JmhCgl extends JmhBase {
|
|||||||
|
|
||||||
// Either all or a selection of sort implementations.
|
// Either all or a selection of sort implementations.
|
||||||
//@Param()
|
//@Param()
|
||||||
@Param({"TIM_SORT", "FASTER_FINN_SORT", "IMPL_M_50"})
|
@Param({
|
||||||
|
"TIM_SORT",
|
||||||
|
"FASTER_FINN_SORT",
|
||||||
|
//"IMPL_M_40",
|
||||||
|
"IMPL_M_50",
|
||||||
|
})
|
||||||
SortEnum sortEnum;
|
SortEnum sortEnum;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -22,14 +22,14 @@ public enum CglEnum implements DataEnum {
|
|||||||
int runs = 3_010;
|
int runs = 3_010;
|
||||||
int runLength = 3_010;
|
int runLength = 3_010;
|
||||||
|
|
||||||
int manyRuns = 30_000;
|
int manyRuns = 120_000;
|
||||||
int shortRunLength = 50;
|
int shortRunLength = 50;
|
||||||
|
|
||||||
// Constant factors
|
// Constant factors
|
||||||
double a = 0.96;
|
double a = 0.96;
|
||||||
double b = 0.25;
|
double b = 0.25;
|
||||||
double c = 0.81;
|
double c = 0.81;
|
||||||
double d = 1.0;
|
double d = 0.85;
|
||||||
|
|
||||||
return switch (this) {
|
return switch (this) {
|
||||||
case RANDOM_INTEGERS -> new RandomIntegers(listSize, seed);
|
case RANDOM_INTEGERS -> new RandomIntegers(listSize, seed);
|
||||||
@ -40,7 +40,7 @@ public enum CglEnum implements DataEnum {
|
|||||||
AscendingRuns.newAscendingRuns((int) (c * runs), (int) (c * runLength), (int) (-0.5 * c * runLength));
|
AscendingRuns.newAscendingRuns((int) (c * runs), (int) (c * runLength), (int) (-0.5 * c * runLength));
|
||||||
case MANY_ASCENDING_RUNS -> AscendingRuns.newAscendingRuns(manyRuns, shortRunLength, -1 * shortRunLength);
|
case MANY_ASCENDING_RUNS -> AscendingRuns.newAscendingRuns(manyRuns, shortRunLength, -1 * shortRunLength);
|
||||||
case MANY_ASCENDING_RUNS_WITH_OVERLAP ->
|
case MANY_ASCENDING_RUNS_WITH_OVERLAP ->
|
||||||
AscendingRuns.newAscendingRuns((int) (d * manyRuns), (int) (d * shortRunLength), (int) (-0.5 * d * shortRunLength));
|
AscendingRuns.newAscendingRuns((int) (d * manyRuns), shortRunLength, (int) (-0.5 * shortRunLength));
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user