Skip to content

Commit 5f8244e

Browse files
committed
chore: reconfigure for a new machine
1 parent 7b1801b commit 5f8244e

File tree

4 files changed

+12
-10
lines changed

4 files changed

+12
-10
lines changed

.github/workflows/performance_score_director.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616
required: true
1717
baseline:
1818
description: 'Timefold Solver release'
19-
default: '1.15.0'
19+
default: '1.16.0'
2020
required: true
2121
branch:
2222
description: 'Branch to benchmark (needs to use 999-SNAPSHOT)'
@@ -75,7 +75,7 @@ jobs:
7575
echo "forks=20" > scoredirector-benchmark.properties
7676
echo "warmup_iterations=10" >> scoredirector-benchmark.properties
7777
echo "measurement_iterations=10" >> scoredirector-benchmark.properties
78-
echo "relative_score_error_threshold=0.025" >> scoredirector-benchmark.properties
78+
echo "relative_score_error_threshold=0.02" >> scoredirector-benchmark.properties
7979
echo "score_director_type=cs" >> scoredirector-benchmark.properties
8080
echo "example=${{ matrix.example }}" >> scoredirector-benchmark.properties
8181
cat scoredirector-benchmark.properties
@@ -174,10 +174,10 @@ jobs:
174174
export DIFF_END=$(echo "scale=2; ($OLD_RANGE_END / $NEW_RANGE_END) * 100" | bc)
175175
export FAIL=false
176176
177-
if (( $(echo "$DIFF_MID >= 97.00" | bc -l) && $(echo "$DIFF_MID <= 103.00"|bc -l) )); then
178-
# Ignore differences of up to 3 %.
177+
if (( $(echo "$DIFF_MID >= 98.00" | bc -l) && $(echo "$DIFF_MID <= 102.00"|bc -l) )); then
178+
# Ignore differences of up to 2 %.
179179
echo "### Performance unchanged" >> $GITHUB_STEP_SUMMARY
180-
echo "(Decided to ignore a very small difference of under 3 %.)" >> $GITHUB_STEP_SUMMARY
180+
echo "(Decided to ignore a very small difference of under 2 %.)" >> $GITHUB_STEP_SUMMARY
181181
else
182182
if [ "$NEW_RANGE_START" -le "$OLD_RANGE_END" ] && [ "$NEW_RANGE_END" -ge "$OLD_RANGE_START" ]; then
183183
if [ "$NEW_RANGE_START" -ge "$OLD_RANGE_MID" ]; then

run-coldstart.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/bash
22
sudo -i sysctl kernel.perf_event_paranoid=1
33
sudo -i sysctl kernel.kptr_restrict=0
4-
taskset -c 0 java -cp target/benchmarks.jar ai.timefold.solver.benchmarks.micro.coldstart.Main
4+
java -cp target/benchmarks.jar -Djmh.ignoreLock=true ai.timefold.solver.benchmarks.micro.coldstart.Main

run-scoredirector.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
#!/bin/bash
22
sudo -i sysctl kernel.perf_event_paranoid=1
33
sudo -i sysctl kernel.kptr_restrict=0
4-
java -cp target/benchmarks.jar ai.timefold.solver.benchmarks.micro.scoredirector.Main
4+
java -cp target/benchmarks.jar -Djmh.ignoreLock=true ai.timefold.solver.benchmarks.micro.scoredirector.Main

src/main/java/ai/timefold/solver/benchmarks/micro/common/AbstractMain.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -109,8 +109,10 @@ protected ChainedOptionsBuilder initAsyncProfiler(ChainedOptionsBuilder options)
109109
"output=jfr;" +
110110
"dir=" + resultsDirectory.toAbsolutePath() + ";" +
111111
"libPath=" + asyncProfilerPath);
112-
})
113-
.orElseThrow(() -> new IllegalStateException("Impossible state: Async profiler not found."));
112+
}).orElseGet(() -> {
113+
LOGGER.warn("Async profiler not found.");
114+
return options;
115+
});
114116
}
115117

116118
protected void convertJfrToFlameGraphs() {
@@ -178,7 +180,7 @@ public ChainedOptionsBuilder getBaseJmhConfig(C configuration) {
178180
.forks(configuration.getForkCount())
179181
.warmupIterations(configuration.getWarmupIterations())
180182
.measurementIterations(configuration.getMeasurementIterations())
181-
.jvmArgs("-XX:+UseSerialGC", "-Xmx2g") // Throughput-focused GC.
183+
.jvmArgs("-XX:+UseParallelGC", "-Xmx2g") // Throughput-focused GC.
182184
.result(resultsDirectory.resolve("results.json").toAbsolutePath().toString())
183185
.resultFormat(ResultFormatType.JSON)
184186
.shouldDoGC(true);

0 commit comments

Comments
 (0)