Skip to content

Commit 3cacaaf

Browse files
committed
Polybench fix: only look up workload once
1 parent 6d30c40 commit 3cacaaf

File tree

1 file changed

+13
-12
lines changed

1 file changed

+13
-12
lines changed

truffle/src/org.graalvm.polybench/src/org/graalvm/polybench/PolyBenchLauncher.java

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,6 @@
2424
*/
2525
package org.graalvm.polybench;
2626

27-
import org.graalvm.launcher.AbstractLanguageLauncher;
28-
import org.graalvm.options.OptionCategory;
29-
import org.graalvm.polyglot.Context;
30-
import org.graalvm.polyglot.Engine;
31-
import org.graalvm.polyglot.Source;
32-
import org.graalvm.polyglot.Value;
33-
import org.graalvm.polyglot.proxy.ProxyArray;
34-
3527
import java.io.File;
3628
import java.io.IOException;
3729
import java.io.InputStream;
@@ -47,6 +39,14 @@
4739
import java.util.function.BiConsumer;
4840
import java.util.logging.Handler;
4941

42+
import org.graalvm.launcher.AbstractLanguageLauncher;
43+
import org.graalvm.options.OptionCategory;
44+
import org.graalvm.polyglot.Context;
45+
import org.graalvm.polyglot.Engine;
46+
import org.graalvm.polyglot.Source;
47+
import org.graalvm.polyglot.Value;
48+
import org.graalvm.polyglot.proxy.ProxyArray;
49+
5050
/**
5151
* See help.txt.
5252
*/
@@ -493,13 +493,15 @@ private void runHarness(Context.Builder contextBuilder, boolean evalSourceOnly,
493493
if (evalSourceOnly) {
494494
log("::: Iterations skipped :::");
495495
} else {
496+
Workload workload = lookup(context, evalResult.languageId, evalResult.value, "run");
497+
496498
log("::: Running warmup :::");
497-
repeatIterations(context, evalResult.languageId, evalResult.sourceName, evalResult.value, true, config.warmupIterations);
499+
repeatIterations(context, workload, evalResult.sourceName, true, config.warmupIterations);
498500
log("");
499501

500502
log("::: Running :::");
501503
config.metric.reset();
502-
repeatIterations(context, evalResult.languageId, evalResult.sourceName, evalResult.value, false, config.iterations);
504+
repeatIterations(context, workload, evalResult.sourceName, false, config.iterations);
503505
log("");
504506
}
505507

@@ -520,8 +522,7 @@ private static String round(double v) {
520522
return String.format("%.2f", v);
521523
}
522524

523-
private void repeatIterations(Context context, String languageId, String name, Object evalSource, boolean warmup, int iterations) {
524-
Workload workload = lookup(context, languageId, evalSource, "run");
525+
private void repeatIterations(Context context, Workload workload, String name, boolean warmup, int iterations) {
525526
// Enter explicitly to avoid context switches for each iteration.
526527
context.enter();
527528
try {

0 commit comments

Comments
 (0)