benchmark: adjusted time

This commit is contained in:
Daniel Langbein 2025-01-29 16:49:37 +01:00
parent ce93b03506
commit 1b944c38f0
Signed by: langfingaz
GPG Key ID: 6C47C753F0823002
4 changed files with 11 additions and 6 deletions

View File

@ -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).

View File

@ -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)
/* /*

View File

@ -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

View File

@ -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));
}; };
} }
} }